Работа с бази данни в Python

Урок 6: Работа с бази данни в Python
В този урок ще разгледаме как да работим с бази данни в Python. Ще научим как да създаваме и манипулираме бази данни, както и как да използваме SQL за заявяване и управление на данни. Ще използваме SQLite, вградена база данни, която не изисква допълнителна инсталация и е идеална за обучение и малки проекти.
Запознаване със SQLite
SQLite е лека библиотека за релационни бази данни, която се съхранява в един файл на диска. Тя е чудесна за прототипиране, тестване и малки приложения.
Инсталиране на SQLite
SQLite е включен в стандартната библиотека на Python, така че не е необходимо допълнително инсталиране. Ще използваме модула sqlite3
за работа с базата данни.
Свързване с база данни
Първата стъпка е да се свържем с база данни. Ако базата данни не съществува, тя ще бъде създадена.
import sqlite3
# Свързване с база данни
conn = sqlite3.connect('example.db')
# Създаване на курсор
cursor = conn.cursor()
Създаване на таблица
Създаваме таблица, като изпълним SQL заявка с метода execute()
.
# Създаване на таблица
cursor.execute('''CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER NOT NULL
)''')
# Потвърждаване на промените
conn.commit()
Добавяне на записи
Можем да добавяме записи в таблицата с SQL командата INSERT
.
# Добавяне на записи
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("Alice", 30))
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ("Bob", 25))
# Потвърждаване на промените
conn.commit()
Четене на записи
Можем да четем данни от таблицата с командата SELECT
.
# Четене на всички записи
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
Актуализиране на записи
За актуализиране на данни използваме командата UPDATE
.
# Актуализиране на запис
cursor.execute("UPDATE users SET age = ? WHERE name = ?", (35, "Alice"))
# Потвърждаване на промените
conn.commit()
Изтриване на записи
За изтриване на данни използваме командата DELETE
.
# Изтриване на запис
cursor.execute("DELETE FROM users WHERE name = ?", ("Bob",))
# Потвърждаване на промените
conn.commit()
Затваряне на връзката
След като приключим с работата с базата данни, трябва да затворим връзката.
# Затваряне на връзката
conn.close()
Примерна програма: Управление на потребители
Нека създадем програма за управление на потребители, която използва SQLite за съхранение на данни.
Дефиниране на функции
database.py
import sqlite3
def connect():
return sqlite3.connect('users.db')
def create_table(conn):
cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER NOT NULL
)''')
conn.commit()
def add_user(conn, name, age):
cursor = conn.cursor()
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", (name, age))
conn.commit()
def get_users(conn):
cursor = conn.cursor()
cursor.execute("SELECT * FROM users")
return cursor.fetchall()
def update_user(conn, user_id, age):
cursor = conn.cursor()
cursor.execute("UPDATE users SET age = ? WHERE id = ?", (age, user_id))
conn.commit()
def delete_user(conn, user_id):
cursor = conn.cursor()
cursor.execute("DELETE FROM users WHERE id = ?", (user_id,))
conn.commit()
Основна програма
main.py
import database
# Свързване с базата данни
conn = database.connect()
# Създаване на таблица
database.create_table(conn)
# Добавяне на потребители
database.add_user(conn, "Alice", 30)
database.add_user(conn, "Bob", 25)
# Изброяване на потребителите
users = database.get_users(conn)
print("Users:")
for user in users:
print(user)
# Актуализиране на възрастта на потребител
database.update_user(conn, 1, 35)
# Изтриване на потребител
database.delete_user(conn, 2)
# Изброяване на потребителите след промените
users = database.get_users(conn)
print("\nUsers after updates:")
for user in users:
print(user)
# Затваряне на връзката
conn.close()
Заключение
В този урок разгледахме как да работим с бази данни в Python, използвайки SQLite. Научихме как да създаваме таблици, да добавяме, четем, актуализираме и изтриваме записи. Също така, създадохме примерна програма за управление на потребители. В следващите уроци ще разгледаме мрежово програмиране и уеб разработка с Python. Практикувайте редовно и експериментирайте с различни SQL заявки, за да затвърдите наученото.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut