Базы данных играют ключевую роль в современных приложениях, позволяя хранить и управлять данными. 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 в многопоточной среде.
Computer vision на Python
Код курса
VISI
Ближайшая дата курса
24 февраля, 2025
Продолжительность
40 ак.часов
Стоимость обучения
90 000 руб.
Это делает Python универсальным и надежным средством для работы с производительными приложениями, а также с Big Data обработкой. Освоить Python на профессиональном уровне в разработчика различных приложений и прочих прикладных областях Data Science вы сможете на практических курсах по Python в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве:
- PREP: Подготовка данных для Data Mining на Python
- Разработка и внедрение ML-решений
- Графовые алгоритмы. Бизнес-приложения
- Нейронные сети на Python
- NLP с Python
Источники