Создание и управление базами данных SQLite

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

Введение

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

Создание базы данных SQLite и подключение

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

  1. Откройте терминал в среде LabEx VM. По умолчанию вы должны находиться в каталоге /home/labex/project. Подтвердите это, выполнив следующую команду:

    pwd
    

    Вывод должен быть следующим:

    /home/labex/project
    

    Если вы не находитесь в этом каталоге, перейдите в него, выполнив:

    cd /home/labex/project
    
  2. Создайте новую базу данных SQLite с именем mydatabase.db и подключитесь к ней с помощью команды sqlite3:

    sqlite3 mydatabase.db
    

    Эта команда создает файл mydatabase.db, если он не существует, и открывает к нему соединение. Вы увидите приглашение SQLite:

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

Команда sqlite3 используется как для создания, так и для подключения к базам данных SQLite. Если указанный файл базы данных не существует, SQLite создаст его. Теперь вы готовы выполнять SQL-команды в среде SQLite.

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

На этом шаге вы создадите таблицу с именем users внутри базы данных mydatabase.db.

В приглашении SQLite создайте таблицу с именем users с помощью следующей SQL-команды:

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

Эта команда определяет структуру таблицы users. Столбец id является целым числом и первичным ключом, гарантируя, что у каждого пользователя будет уникальный идентификатор. Столбец name представляет собой текстовое поле, которое не может быть пустым (NOT NULL), а столбец age — целое число.

Команда CREATE TABLE является фундаментальной командой SQL, используемой для определения структуры таблицы в базе данных. Ограничение PRIMARY KEY гарантирует, что столбец id содержит уникальные значения для каждой строки, а ограничение NOT NULL гарантирует, что столбец name не может быть пустым.

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

Теперь, когда вы создали таблицу users, вы можете вставлять в нее данные. Это включает добавление строк (записей) в таблицу, где каждая строка представляет пользователя и соответствующую ему информацию.

Вставьте следующие записи в таблицу users с помощью команды INSERT INTO:

INSERT INTO users (id, name, age) VALUES (1, 'Alice', 25);
INSERT INTO users (id, name, age) VALUES (2, 'Bob', 30);
INSERT INTO users (id, name, age) VALUES (3, 'Charlie', 22);

Эти команды добавляют три новые строки в таблицу users. Каждая строка включает id, name и age.

Команда INSERT INTO используется для добавления новых строк в таблицу. Значения, указанные в предложении VALUES, вставляются в соответствующие столбцы, перечисленные в скобках после имени таблицы.

Запрос данных из таблицы users

На этом шаге вы научитесь запрашивать данные из таблицы users с помощью команды SELECT. Это позволит вам извлекать конкретную информацию из базы данных.

Извлеките все данные из таблицы users с помощью следующей SQL-команды:

SELECT * FROM users;

Эта команда выбирает все столбцы (*) из всех строк в таблице users. Вывод покажет данные, которые вы вставили на предыдущем шаге. Вы должны увидеть что-то вроде этого:

1|Alice|25
2|Bob|30
3|Charlie|22

Команда SELECT является мощным инструментом для извлечения данных из базы данных. Символ подстановки * указывает, что должны быть выбраны все столбцы. Вы также можете выбирать конкретные столбцы, перечисляя их имена через запятую (например, SELECT name, age FROM users;).

Добавление нового столбца и обновление данных

На этом шаге вы добавите новый столбец с именем email в таблицу users, а затем обновите существующие записи адресами электронной почты.

  1. Добавьте новый столбец с именем email в таблицу users с помощью команды ALTER TABLE:

    ALTER TABLE users ADD COLUMN email TEXT;
    

    Эта команда добавляет новый столбец с именем email типа TEXT в таблицу users.

  2. Обновите столбец email для каждого пользователя с помощью команды UPDATE:

    UPDATE users SET email = 'alice@example.com' WHERE id = 1;
    UPDATE users SET email = 'bob@example.com' WHERE id = 2;
    UPDATE users SET email = 'charlie@example.com' WHERE id = 3;
    

    Эти команды обновляют столбец email для каждого пользователя соответствующим адресом электронной почты.

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

    SELECT * FROM users;
    
    1|Alice|25|alice@example.com
    2|Bob|30|bob@example.com
    3|Charlie|22|charlie@example.com
    

Команда ALTER TABLE используется для изменения структуры существующей таблицы. В данном случае мы добавляем новый столбец. Команда UPDATE используется для изменения существующих данных в таблице. Предложение SET указывает, какой столбец обновлять и какое новое значение присвоить. Предложение WHERE указывает, какие строки обновлять на основе условия.

Выход из SQLite и удаление файла базы данных

На этом шаге вы выйдете из интерфейса SQLite, а затем удалите файл базы данных. Поскольку SQLite хранит все данные в одном файле, удаление базы данных сводится к удалению файла с помощью команды rm. Будьте осторожны, так как это действие необратимо!

  1. Выйдите из приглашения SQLite:

    .quit
    
  2. Убедитесь, что вы находитесь в каталоге /home/labex/project. Подтвердите это с помощью:

    pwd
    

    Вывод должен быть следующим:

    /home/labex/project
    

    Если это не так, перейдите в него с помощью:

    cd /home/labex/project
    
  3. Удалите файл mydatabase.db с помощью команды rm:

    rm mydatabase.db
    

    Если удаление прошло успешно, вывод отсутствовать не будет.

  4. Подтвердите, что файл был удален, снова перечислив содержимое каталога:

    ls
    

    Вы больше не должны видеть mydatabase.db в выводе, что подтверждает удаление файла.

Команда .quit выходит из оболочки SQLite и возвращает вас в терминал Linux. Команда rm является стандартной командой Linux, используемой для удаления файлов. В данном случае она безвозвратно удаляет файл mydatabase.db, который содержит все данные и структуру вашей базы данных SQLite.

Резюме

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