Работа с данными в SQLite

SQLiteBeginner
Практиковаться сейчас

Введение

В этой лабораторной работе вы изучите основные операции работы с данными в SQLite, легкой файловой базе данных, идеально подходящей для начинающих. Благодаря практическим упражнениям в среде LabEx VM вы создадите базу данных, настроите таблицы и выполните основные задачи, такие как вставка данных, запросы записей, обновление информации и удаление записей. Это пошаговое руководство поможет вам создать прочную основу в управлении базами данных с помощью простых SQL-команд, предназначенных для тех, кто только начинает знакомиться с базами данных.

Создание базы данных и таблицы SQLite

На этом первом шаге вы создадите базу данных SQLite и настроите таблицу для хранения данных. SQLite — это легкая база данных, которая хранит данные в одном файле, что упрощает ее использование в учебных целях.

Сначала откройте свой терминал в LabEx VM. Ваш путь по умолчанию — /home/labex/project.

Теперь давайте создадим базу данных SQLite с именем mydb.sqlite. Выполните следующую команду, чтобы создать файл базы данных и открыть инструмент командной строки SQLite:

sqlite3 mydb.sqlite

Вы увидите приглашение, указывающее на то, что вы находитесь внутри оболочки SQLite:

SQLite version 3.x.x
Enter ".help" for usage hints.
sqlite>

Далее создайте таблицу с именем users для хранения основной информации о пользователях. Эта таблица будет иметь три столбца: id (уникальный идентификатор), name и email. Введите следующую SQL-команду в командной строке sqlite> и нажмите Enter:

CREATE TABLE users (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    email TEXT NOT NULL
);

Эта команда настраивает таблицу users, где:

  • id — это целое число, которое автоматически увеличивается для каждой новой записи. Ограничение PRIMARY KEY гарантирует, что каждый id является уникальным, а AUTOINCREMENT обеспечивает его автоматическое увеличение.
  • name — это текстовое поле, которое не может быть пустым (NOT NULL).
  • email — это также текстовое поле, которое не может быть пустым (NOT NULL).

Вы не увидите никакого вывода, если команда выполнится успешно.

Вставка данных в таблицу

Теперь, когда вы создали таблицу users, давайте добавим в нее немного данных. Мы вставим три записи пользователей в таблицу.

Вставьте три записи пользователей в таблицу users, выполняя эти команды одну за другой в командной строке sqlite>:

INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
INSERT INTO users (name, email) VALUES ('Charlie', 'charlie@example.com');

Эти команды добавляют три строки в таблицу users. Обратите внимание, что вы не указываете значение для столбца id, потому что он автоматически увеличивается с каждой новой записью.

  • INSERT INTO users (name, email) указывает, что вы вставляете данные в столбцы name и email таблицы users.
  • VALUES ('Alice', 'alice@example.com') предоставляет значения для вставки для каждой записи.

Чтобы подтвердить, что данные были добавлены правильно, выполните эту команду, чтобы просмотреть все записи в таблице:

SELECT * FROM users;

Ожидаемый вывод:

1|Alice|alice@example.com
2|Bob|bob@example.com
3|Charlie|charlie@example.com

Этот вывод показывает id, name и email для каждой записи. Команда SELECT * извлекает все столбцы из указанной таблицы.

Запрос данных с помощью SELECT

На этом шаге вы узнаете, как извлекать данные из вашей таблицы с помощью оператора SELECT. Запрос данных — это основной навык для работы с базами данных, поскольку он позволяет просматривать и анализировать хранимую информацию.

В командной строке sqlite> давайте сначала извлечем все данные из таблицы users. Выполните эту команду:

SELECT * FROM users;

Ожидаемый вывод:

1|Alice|alice@example.com
2|Bob|bob@example.com
3|Charlie|charlie@example.com

Символ * в SELECT * означает «все столбцы», поэтому эта команда показывает каждый столбец и строку в таблице users.

Далее вы можете выбрать конкретные столбцы для отображения. Чтобы увидеть только столбцы name и email, выполните:

SELECT name, email FROM users;

Ожидаемый вывод:

Alice|alice@example.com
Bob|bob@example.com
Charlie|charlie@example.com

Эта команда ограничивает вывод только указанными столбцами, опуская id.

Наконец, отфильтруйте данные, используя условие с помощью предложения WHERE (условие WHERE). Чтобы просмотреть только запись для 'Alice', выполните:

SELECT * FROM users WHERE name = 'Alice';

Ожидаемый вывод:

1|Alice|alice@example.com

Предложение WHERE сужает результаты до строк, которые соответствуют условию, в данном случае, где name равно 'Alice'.

  • SELECT * FROM users выбирает все столбцы из таблицы users.
  • WHERE name = 'Alice' фильтрует результаты, чтобы включить только строки, где столбец name равен 'Alice'.

Обновление записей в таблице

Теперь вы узнаете, как изменять существующие данные в вашей таблице с помощью оператора UPDATE. Обновление записей важно, когда вам нужно исправить или изменить информацию в базе данных.

Сначала проверьте текущие данные в таблице users, чтобы увидеть, что вы будете обновлять. Выполните:

SELECT * FROM users;

Ожидаемый вывод:

1|Alice|alice@example.com
2|Bob|bob@example.com
3|Charlie|charlie@example.com

Теперь обновите адрес электронной почты для 'Bob' на bob.new@example.com. Введите эту команду в командной строке sqlite>:

UPDATE users SET email = 'bob.new@example.com' WHERE name = 'Bob';

Вы не увидите вывода, если команда выполнится успешно. Эта команда изменяет значение email для строки, где name равно 'Bob'. Предложение WHERE гарантирует, что будет обновлена только соответствующая запись.

  • UPDATE users указывает, что вы обновляете таблицу users.
  • SET email = 'bob.new@example.com' устанавливает новое значение для столбца email.
  • WHERE name = 'Bob' фильтрует обновление, чтобы применить его только к строке, где name равно 'Bob'.

Проверьте изменение, снова запросив таблицу:

SELECT * FROM users;

Ожидаемый вывод:

1|Alice|alice@example.com
2|Bob|bob.new@example.com
3|Charlie|charlie@example.com

Вы можете видеть, что адрес электронной почты Боба был обновлен.

Удаление записей из таблицы

На этом заключительном шаге вы узнаете, как удалять данные из вашей таблицы с помощью оператора DELETE. Удаление записей необходимо, когда вам нужно очистить устаревшие или неверные данные из базы данных.

Сначала просмотрите текущие данные в таблице users, чтобы определить, что вы будете удалять. Выполните:

SELECT * FROM users;

Ожидаемый вывод:

1|Alice|alice@example.com
2|Bob|bob.new@example.com
3|Charlie|charlie@example.com

Теперь удалите запись для 'Charlie', выполнив эту команду:

DELETE FROM users WHERE name = 'Charlie';

Вы не увидите вывода, если команда выполнится успешно. Эта команда удаляет строку, где name равно 'Charlie'. Предложение WHERE гарантирует, что будет удалена только указанная запись.

  • DELETE FROM users указывает, что вы удаляете из таблицы users.
  • WHERE name = 'Charlie' фильтрует удаление, чтобы применить его только к строке, где name равно 'Charlie'.

Проверьте удаление, снова запросив таблицу:

SELECT * FROM users;

Ожидаемый вывод:

1|Alice|alice@example.com
2|Bob|bob.new@example.com

Вы можете видеть, что записи Charlie больше нет в таблице.

Резюме

В этой лабораторной работе вы освоили основные навыки работы с данными в SQLite в среде виртуальной машины LabEx VM. Вы создали базу данных SQLite и таблицу, вставили данные с помощью оператора INSERT INTO, запросили информацию с помощью SELECT, обновили записи с помощью UPDATE и удалили записи с помощью DELETE. Эти практические упражнения предоставили всестороннее введение в управление базами данных, вооружив вас фундаментальными знаниями для эффективной обработки данных с помощью SQLite.