Obiective
- Introducere în bazele de date și SQL
- Lucrul cu baza de date SQLite în Python
- Învățarea bibliotecii
sqlite3pentru lucrul cu baze de date SQLite în Python - Exemple practice de utilizare a bibliotecii
sqlite3pentru a interacționa cu baze de date
1. Introducere în bazele de date și SQL
O bază de date este o colecție organizată de date, care poate fi manipulată și accesată în mod eficient. Bazele de date relaționale sunt cele mai comune și utilizează limbajul SQL (Structured Query Language) pentru a interacționa cu datele. SQL permite efectuarea de operații precum inserarea, actualizarea, ștergerea și selectarea datelor din baze de date relaționale.
2. Lucrul cu baza de date SQLite în Python
SQLite este o bază de date relațională ușoară, care nu necesită un server separat pentru a funcționa. Baza de date SQLite este stocată într-un singur fișier, ceea ce o face potrivită pentru aplicații mici și mijlocii, prototipuri și teste. Python include biblioteca sqlite3 în standard library, ceea ce înseamnă că nu trebuie să instalați nimic pentru a începe să lucrați cu baze de date SQLite.
3. Învățarea bibliotecii sqlite3 pentru lucrul cu baze de date SQLite în Python
Pentru a începe să lucrați cu o bază de date SQLite în Python, trebuie să importați modulul sqlite3 și să creați o conexiune la baza de date:
import sqlite3
con = sqlite3.connect('my_database.db')
După ce ați creat conexiunea, puteți să creați un cursor pentru a trimite instrucțiuni SQL către baza de date:
cursor = con.cursor()
Acum, puteți să executați instrucțiuni SQL folosind metoda execute() a cursorului:
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)")
Pentru a insera, actualiza sau șterge date, folosiți metoda execute() și apoi metoda commit() a conexiunii pentru a salva modificările:
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('Alice', 30))
con.commit()
Pentru a interoga datele, folosiți metoda execute() și metoda fetchall() a cursorului pentru a obține rezultatele:
cursor.execute("SELECT * FROM users WHERE age > ?", (25,))
rows = cursor.fetchall()
for row in rows:
print(row)
În final, închideți cursorul și conexiunea:
cursor.close()
con.close()
4. Exemple practice de utilizare a bibliotecii sqlite3 pentru a interacționa cu baze de date
- Crearea unei tabele și inserarea datelor:
import sqlite3
con = sqlite3.connect('my_database.db')
cursor = con.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER NOT NULL
)
""")
users = [
('Alice', 30),
('Bob', 25),
('Charlie', 22),
('David', 28)
]
cursor.executemany("INSERT INTO users (name, age) VALUES (?, ?)", users)
con.commit()
cursor.close()
con.close()
- Selectarea și afișarea datelor dintr-o tabelă:
import sqlite3
con = sqlite3.connect('my_database.db')
cursor = con.cursor()
cursor.execute("SELECT * FROM users")
rows = cursor.fetchall()
for row in rows:
print(row)
cursor.close()
con.close()
- Actualizarea datelor dintr-o tabelă:
import sqlite3
con = sqlite3.connect('my_database.db')
cursor = con.cursor()
cursor.execute("UPDATE users SET age = ? WHERE name = ?", (31, 'Alice'))
con.commit()
cursor.close()
con.close()
- Ștergerea datelor dintr-o tabelă:
import sqlite3
con = sqlite3.connect('my_database.db')
cursor = con.cursor()
cursor.execute("DELETE FROM users WHERE name = ?", ('Bob',))
con.commit()
cursor.close()
con.close()
- Utilizarea context manager pentru a gestiona conexiunea și cursorul:
import sqlite3
def get_users_over_age(age):
with sqlite3.connect('my_database.db') as con:
cursor = con.cursor()
cursor.execute("SELECT * FROM users WHERE age > ?", (age,))
rows = cursor.fetchall()
return rows
users = get_users_over_age(25)
for user in users:
print(user)
În această lecție, am discutat despre conceptele de bază ale bazelor de date și SQL, am învățat să folosim biblioteca sqlite3 pentru a lucra cu baze de date SQLite în Python și am prezentat exemple practice pentru a interacționa cu baze de date. Aceste cunoștințe vă vor permite să integrați și să utilizați baze de date SQLite în aplicațiile dvs. Python.