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: