SQLite3#
SQLite3 — это легковесная встраиваемая система управления реляционными базами данных (СУБД), которая широко используется в приложениях, где важны простота, эффективность и минимальные требования к ресурсам. В отличие от других СУБД, таких как MySQL или PostgreSQL, SQLite не требует отдельного серверного процесса и хранит всю базу данных в одном файле. Это делает её идеальной для небольших приложений, мобильных устройств и встраиваемых систем.
Основные пакеты
Пакет |
Версия |
Репозиторий |
Описание |
---|---|---|---|
sqlite3 |
3.40.1-2+ci202405281556+astra2 |
installation |
Интерфейс командной строки для SQLite3 |
Установка SQLite#
установите пакет:
sudo apt install sqlite3
после установки проверьте версию SQLite, чтобы убедиться, что всё работает:
sqlite3 --version
вы должны увидеть что-то вроде:
3.40.1 2022-12-28 14:03:47 df5c253c0b3dd24916e4ec7cf77d3db5294cc9fd45ae7b9c5e82ad8197f3alt1
Запуск SQLite#
чтобы начать работу с SQLite, откройте терминал и введите:
sqlite3
это откроет интерактивную оболочку SQLite, можете выйти из неё с помощью команды:
.exit
SQLite хранит базу данных в одном файле, чтобы создать новую базу данных, выполните:
sqlite3 mydatabase.db
Если файл mydatabase.db не существует, он будет создан автоматически.
Основные команды SQLite#
Создание таблицы#
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE NOT NULL
);
Вставка данных#
INSERT INTO users (name, email) VALUES ('Иван Иванов', 'ivan@example.com');
INSERT INTO users (name, email) VALUES ('Мария Петрова', 'maria@example.com');
Выборка данных#
SELECT * FROM users;
или
SELECT name, email FROM users WHERE id = 1;
Обновление данных#
UPDATE users SET email = 'ivan.new@example.com' WHERE id = 1;
Удаление данных#
DELETE FROM users WHERE id = 2;
Удаление таблицы#
DROP TABLE users;
Работа с SQLite из командной строки#
Открыть базу данных:#
sqlite3 mydatabase.db
Показать список таблиц:#
.tables
Показать структуру таблицы:#
.schema users
Экспорт данных в файл:
.output output.txt
SELECT * FROM users;
.output stdout
Импорт данных из файла:
.mode csv
.import data.csv users
Выход из SQLite:
.exit
Использование SQLite в скриптах#
Пример на Bash:#
#!/bin/bash
DB_NAME="mydatabase.db"
sqlite3 $DB_NAME "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, email TEXT);"
sqlite3 $DB_NAME "INSERT INTO users (name, email) VALUES ('Алексей Сидоров', 'alex@example.com');"
sqlite3 $DB_NAME "SELECT * FROM users;"
Пример на Python:#
import sqlite3
# Подключение к базе данных
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()
# Создание таблицы
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
email TEXT UNIQUE NOT NULL
)
''')
# Вставка данных
cursor.execute("INSERT INTO users (name, email) VALUES (?, ?)", ('Петр Петров', 'petr@example.com'))
# Выборка данных
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
# Закрытие соединения
conn.commit()
conn.close()
Графические инструменты для работы с SQLite#
Если вы предпочитаете графический интерфейс, то можно воспользоваться DB Browser for SQLite, SQLite Studio: