Базы данных играют ключевую роль в современных приложениях, позволяя хранить и управлять данными. Python предоставляет множество инструментов для работы с базами данных, что делает его популярным выбором для разработчиков. В этой статье мы рассмотрим основы работы с базами данных в Python, используя библиотеку SQLite как пример.
Особенности взаимодействия с базами данных в Python: несколько практических примеров
База данных представляет собой организованный набор данных, которые можно легко сохранять, извлекать, изменять и удалять. В Python существует несколько библиотек для работы с различными типами БД, включая SQLite, MySQL, PostgreSQL и другие. Давайте начнем с примера работы с SQLite, который является легковесным и хорошо подходит для небольших проектов и прототипов.
Python включает в себя модуль sqlite3 для работы с базами данных SQLite. Для начала работы с этой библиотекой не требуется устанавливать дополнительное программное обеспечение. Прежде чем начать работу с БД, давайте создадим ее. Вот пример кода для создания БД SQLite и таблицы в ней:
import sqlite3
# Устанавливаем соединение с базой данных (она будет создана, если не существует)
conn = sqlite3.connect('mydatabase.db')
# Создаем объект-курсор для выполнения SQL-запросов
cursor = conn.cursor()
# Создаем таблицу
cursor.execute('''CREATE TABLE IF NOT EXISTS users
(id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT,
email TEXT)''')
# Сохраняем изменения и закрываем соединение
conn.commit()
conn.close()
Этот код создает базу данных mydatabase.db и таблицу users с тремя столбцами: id, name и email. Столбец id будет автоматически генерироваться как уникальный идентификатор.
Теперь, когда у нас есть база данных и таблица, давайте добавим данные в таблицу:
import sqlite3
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()
# Вставляем данные в таблицу
cursor.execute("INSERT INTO users (name, email) VALUES (?, ?)", ("John Doe", "john@example.com"))
# Сохраняем изменения и закрываем соединение
conn.commit()
conn.close()
В этом примере мы вставляем новую запись в таблицу users с именем «John Doe» и адресом электронной почты «john@example.com«. Запрос использует плейсхолдеры ?, чтобы предотвратить SQL-инъекции и обеспечить безопасность.
Чтобы извлечь данные из таблицы, используем оператор SELECT:
import sqlite3
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()
# Извлекаем все записи из таблицы
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
# Выводим результат
for row in rows:
print("ID:", row[0])
print("Name:", row[1])
print("Email:", row[2])
print("---")
# Закрываем соединение
conn.close()
Этот код извлекает все записи из таблицы users и выводит их на экран. Чтобы обновить существующие данные, используем оператор UPDATE:
import sqlite3
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()
# Обновляем запись с определенным ID
new_name = "Jane Doe"
user_id = 1
cursor.execute("UPDATE users SET name = ? WHERE id = ?", (new_name, user_id))
# Сохраняем изменения
conn.commit()
# Закрываем соединение
conn.close()
Чтобы удалить данные, используем оператор DELETE:
import sqlite3
conn = sqlite3.connect('mydatabase.db')
cursor = conn.cursor()
# Удаляем запись с определенным ID
user_id = 2
cursor.execute("DELETE FROM users WHERE id = ?", (user_id,))
# Сохраняем изменения
conn.commit()
# Закрываем соединение
conn.close()
Данный фрагмент кода удаляет запись с ID 2 из таблицы users.
Таким образом, благодаря параллельному механизму взаимодействия с БД, у Python есть возможность строить веб-приложения и обрабатывать Big Data в многопоточной среде.
Код курса
VISI
Ближайшая дата курса
по запросу
Продолжительность
ак.часов
Стоимость обучения
0 руб.
Это делает Python универсальным и надежным средством для работы с производительными приложениями, а также с Big Data обработкой. Освоить Python на профессиональном уровне в разработчика различных приложений и прочих прикладных областях Data Science вы сможете на практических курсах по Python в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве:
- PREP: Подготовка данных для Data Mining на Python
- Разработка и внедрение ML-решений
- Графовые алгоритмы. Бизнес-приложения
- Нейронные сети на Python
- NLP с Python
Источники



