SQLite
SQLite - это компактная и легкая встраиваемая база данных, которая позволяет хранить и управлять данными прямо внутри вашего приложения. Её простота в использовании и широкая поддержка делают её прекрасным выбором для различных проектов, включая веб-приложения, мобильные приложения и многое другое.
SQLite
Высокая скорость работы, так как база данных хранится в одном файле и не требует сетевого взаимодействия или использования процессов-серверов.
Поддержка всех основных операций SQL, таких как SELECT, INSERT, UPDATE и DELETE, а также транзакций и подготовленных запросов.
Поддержка большинства типов данных, включая целые числа, числа с плавающей точкой, строки, даты и времена, NULL и BLOB (binary large objects).
Преимущества использования SQLite
Простота: SQLite не требует отдельного сервера или настройки. Она работает как часть вашего приложения.
Надежность: Транзакции и ACID-свойства обеспечивают надежность и целостность данных.
Кроссплатформенность: SQLite поддерживается на множестве платформ, включая Windows, macOS и Linux.
Эффективность: Использует минимальные ресурсы системы, что делает её хорошим выбором для мобильных устройств.
Установка SQLite
Чтобы начать работу с SQLite в Python, нам потребуется библиотека sqlite3. Эта библиотека входит в стандартную библиотеку Python (начиная с версии 2.5), поэтому нам не нужно устанавливать её отдельно. Мы можем начать использовать sqlite3 сразу после установки Python.
Создание новой базы данных
import sqlite3
# Создаем подключение к базе данных (файл my_database.db будет создан)
connection = sqlite3.connect('my_database.db')
connection.close()
Инструмент для работы с SQLite
Для удобной работы с базой данных SQLite, вы можете использовать инструменты, такие как DB Browser for SQLite (или SQLite Studio). Это графический интерфейс, позволяющий просматривать, редактировать и управлять данными в базе SQLite.
DB Browser for SQLite можно скачать с официального сайта: sqlitebrowser.org.
Создание таблиц
import sqlite3
# Устанавливаем соединение с базой данных
connection = sqlite3.connect('my_database.db')
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.close()
Вставка, обновление и удаление данных
Использование оператора INSERT для добавления данных
Обновление записей с использованием UPDATE
Удаление данных с помощью оператора DELETE
Использование SQL-запросов для извлечения данных из таблиц
# Выбираем всех пользователей
cursor.execute('SELECT * FROM Users')
Примеры операторов SELECT, FROM, WHERE
# Выбираем имена и возраст пользователей старше 25 лет
cursor.execute('SELECT username, age FROM Users WHERE age > ?', (25))
Примеры операторов GROUP BY и HAVING
Использование агрегатных функций: COUNT, SUM, AVG, MIN, MAX
COUNT - подсчет количества записей
SUM - суммирование числовых значений
cursor.execute('SELECT SUM(age) FROM Users')
AVG - вычисление среднего значения
MIN - нахождение минимального значения
MAX - нахождение максимального значения
Использование методов fetchone(), fetchmany() и fetchall() для получения данных
# Выбираем первого пользователя
cursor.execute('SELECT * FROM Users')
first_user = cursor.fetchone()
print(first_user)
# Выбираем первых 5 пользователей
cursor.execute('SELECT * FROM Users')
first_five_users = cursor.fetchmany(5)
print(first_five_users)
# Выбираем всех пользователей
cursor.execute('SELECT * FROM Users')
all_users = cursor.fetchall()
print(all_users)
Обработка NULL-значений
import sqlite3
# Устанавливаем соединение с базой данных
connection = sqlite3.connect('my_database.db')
cursor = connection.cursor()
# Выбираем пользователей с неизвестным возрастом
cursor.execute('SELECT * FROM Users WHERE age IS NULL')
unknown_age_users = cursor.fetchall()
# Выводим результаты
for user in unknown_age_users:
print(user)
# Закрываем соединение
connection.close()
NULL - это специальное значение, обозначающее отсутствие данных. При обработке NULL-значений, вы можете использовать операторы IS NULL и IS NOT NULL. Например, давайте выберем пользователей с неизвестным возрастом:
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.