Введение
В этой лабораторной работе вы изучите основные операции работы с данными в 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.


