#Разработка #Dev #Python #SQLite #Linux #Debian
1. Общие сведения
SQLite - легкая встраиваемая база данных, которая позволяет хранить и управлять данными прямо внутри приложения.
Простота: SQLite не требует отдельного сервера или настройки. Она работает как часть вашего приложения.
Надежность: Транзакции и ACID-свойства обеспечивают надежность и целостность данных.
Кроссплатформенность: SQLite поддерживается на множестве платформ, включая Windows, macOS и Linux.
Эффективность: Использует минимальные ресурсы системы, что делает её хорошим выбором для мобильных устройств.
Создание новой базы данных и подключение к существующей
apt install sqlite3
Для получения более актуальной версии программы необходимо использовать ручную компиляцию.
Для этого нужно установить основные пакеты компилятора с помощью команды
sudo apt install build-essential
Затем создать папку для размещения исходного кода SQLite и получить к ней доступ с помощью команд
mkdir sqlite && cd sqlite
После этого загрузить исходный код SQLite с помощью команды wget
https://www.sqlite.org/2021/sqlite-autoconf-3370000.tar.gz
Затем распаковать файл с помощью команды:
tar xvfz sqlite-autoconf-3370000.tar.gz
После этого настроить код с помощью команды: ./configure
и скомпилировать SQLite с помощью команды: make
и установить программу на Debian с помощью команды: make install
3. Создание новой БД
import sqlite3
# Создаем подключение к базе данных (файл my_database.db будет создан)
connection = sqlite3.connect('my_database.db')
connection.close()
3. Создание таблиц
cursor = connection.cursor()
# Создаем таблицу Users
cursor.execute('''
CREATE TABLE IF NOT EXISTS Users (
id INTEGER PRIMARY KEY,
username TEXT NOT NULL,
email TEXT NOT NULL,
age INTEGER
)
''')
# Сохраняем изменения
connection.commit()
connection.cursor() - создает объект "курсор" для выполнения SQL-запросов и операций с базой данных. Курсор - это механизм, который позволяет отправлять SQL-запросы базе данных и получать результаты этих запросов. Курсор предоставляет методы для выполнения SQL-запросов (execute(), executemany()) и получения результатов (fetchone(), fetchall() и т.д.).
В контексте работы с базами данных в Python, когда вы устанавливаете соединение с базой данных, вы создаете объект соединения (sqlite3.connect('my_database.db') в данном случае), который представляет собой связь между вашим кодом и фактической базой данных.
4. Основные типы данных
INTEGER: Целые числа.
TEXT: Текстовые данные.
REAL: Числа с плавающей запятой.
BLOB: Двоичные данные.
5. Заполнение таблиц - INSERT
# Добавляем нового пользователя
cursor.execute('INSERT INTO Users (username, email, age) VALUES (?, ?, ?)', ('newuser', 'newuser@example.com', 28))
6. Обновление данных - UPDATE
# Обновляем возраст пользователя "newuser"
cursor.execute('UPDATE Users SET age = ? WHERE username = ?', (29, 'newuser'))
7. Удаление данных - DELETE
# Удаляем пользователя "newuser"
cursor.execute('DELETE FROM Users WHERE username = ?', ('newuser',))
8. Выполнение запросов - SELECT, FROM, WHERE
# Выбираем всех пользователей
cursor.execute('SELECT * FROM Users')
users = cursor.fetchall()
# Выводим результаты
for user in users:
print(user)
# Выбираем имена и возраст пользователей старше 25 лет
cursor.execute('SELECT username, age FROM Users WHERE age > ?', (25,))
results = cursor.fetchall()
for row in results:
print(row)
Про дополнительные возможности я расскажу в отдельной статье, если конечно будут заявки в комментариях...
Индексы и их роль в оптимизации запросов... Индексы позволяют ускорить выполнение запросов, особенно при работе с большими объемами данных.
Для удобной работы с базой данных SQLite можно скачать с официального сайта DB Browser for SQLite: sqlitebrowser.org.