🐍 Python: как работать с SQLite
Чтобы работать с базой данных SQLite в Python, вам понадобится стандартный модуль sqlite3.
import sqlite3
# Устанавливаем соединение с базой данных
conn = sqlite3.connect('database.db')
# Создаем курсор для выполнения запросов
cursor = conn.cursor()
# Создаем таблицу
create_table_query = 'CREATE TABLE IF NOT EXISTS students (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)'
cursor.execute(create_table_query)
# Вставляем данные в таблицу
insert_query = "INSERT INTO students (name, age) VALUES ('John', 20)"
cursor.execute(insert_query)
# Обновляем данные в таблице
update_query = "UPDATE students SET age = 21 WHERE name = 'John'"
cursor.execute(update_query)
# Получаем данные из таблицы
select_query = "SELECT * FROM students"
results = cursor.execute(select_query)
# Выводим результаты
for row in results:
print(row)
# Закрываем соединение
conn.close()
В этом примере мы создаем базу данных с именем 'database.db', создаем таблицу 'students', добавляем запись с именем 'John' и возрастом 20, обновляем возраст на 21 для записи с именем 'John' и выводим все записи из таблицы.
Детальный ответ
Python: как работать с SQLite
Python - это мощный и популярный язык программирования, который предоставляет различные инструменты и библиотеки для работы с базами данных. Одной из самых распространенных баз данных, использованных в Python, является SQLite.
Что такое SQLite?
SQLite - это встраиваемая база данных, которая не требует отдельного сервера и может быть использована непосредственно вашим приложением. Она проста в использовании и хранит базу данных в виде обычного файла на диске. SQLite поддерживает стандарт языка SQL и предоставляет функции для работы с данными.
Установка библиотеки SQLite
В Python уже встроена библиотека для работы с SQLite, поэтому нет необходимости устанавливать дополнительные пакеты. Есть два основных модуля: sqlite3 и apsw. Мы рассмотрим sqlite3.
Подключение к базе данных SQLite
Для начала работы с базой данных SQLite в Python вам необходимо подключиться к ней. Для этого нужно импортировать модуль sqlite3 и вызвать функцию connect(), указав путь к базе данных или создав новую базу данных.
import sqlite3
# Подключение к базе данных
conn = sqlite3.connect('database.db')
Создание таблицы
После подключения к базе данных вы можете создать таблицу для хранения данных. Для этого создайте объект cursor(), вызвав его на переменной подключения. Затем вызовите метод execute() объекта cursor и передайте SQL-запрос для создания таблицы.
# Создание таблицы
cursor = conn.cursor()
sql_query = '''CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER NOT NULL
)'''
cursor.execute(sql_query)
Добавление данных в таблицу
Чтобы добавить данные в таблицу, используйте метод execute() объекта cursor и передайте SQL-запрос INSERT. Можно подставлять значения в запрос с помощью символов заполнителя (%s) и передавать значения в виде кортежа.
# Добавление данных
sql_query = '''INSERT INTO students (name, age)
VALUES (%s, %s)'''
data = ('John', 20)
cursor.execute(sql_query, data)
# Сохранение изменений
conn.commit()
Получение данных из таблицы
Для получения данных из таблицы используйте метод fetchall() объекта cursor. Он возвращает все строки результата запроса в виде списка кортежей.
# Получение данных
sql_query = '''SELECT * FROM students'''
cursor.execute(sql_query)
data = cursor.fetchall()
for row in data:
print(row)
Обновление данных в таблице
Для обновления данных в таблице используйте SQL-запрос UPDATE. Выберите строки, которые вы хотите обновить, и указываете новые значения.
# Обновление данных
sql_query = '''UPDATE students
SET age = %s
WHERE name = %s'''
data = (25, 'John')
cursor.execute(sql_query, data)
# Сохранение изменений
conn.commit()
Удаление данных из таблицы
Для удаления данных из таблицы используйте SQL-запрос DELETE. Выберите строки, которые вы хотите удалить.
# Удаление данных
sql_query = '''DELETE FROM students
WHERE age < %s'''
data = (18,)
cursor.execute(sql_query, data)
# Сохранение изменений
conn.commit()
Закрытие соединения с базой данных
После завершения работы с базой данных необходимо закрыть соединение, чтобы освободить ресурсы. Для этого вызовите метод close() на переменной подключения.
# Закрытие соединения
conn.close()
Заключение
В этой статье мы рассмотрели, как использовать Python для работы с базой данных SQLite. Мы изучили, как подключиться к базе данных, создать таблицу, добавить, получить, обновить и удалить данные. SQLite предоставляет простой и удобный способ хранения и управления данными в Python-приложениях.