Gestionarea bazelor de date în Python

În epoca informației în care trăim, putem vedea cât de multe date schimbă lumea. Suntem în principal crearea, stocarea și recuperarea datelor, pe larg! Ar trebui să existe o modalitate de a face față tuturor acestor lucruri - nu s-ar putea răspândi pretutindeni fără nici o gestionare, nu? Aici vine Sistemul de management al bazelor de date (DBMS).

DBMS este un sistem software care vă permite să creați, să stocați, să modificați, să preluați și să gestionați în alt mod datele dintr-o bază de date. De asemenea, aceste sisteme variază în funcție de mărime, de la sisteme mici care rulează pe computerul dvs. personal la cele mai mari care rulează pe mainframe.

Accentul nostru în acest tutorial este mai degrabă pe Python decât pe designul bazei de date. Da, Python este capabil să interacționeze minunat cu bazele de date și asta este ceea ce vă voi arăta în acest tutorial.

Să începem!

Python Database API

După cum sa menționat mai sus, Python este capabil să interacționeze cu bazele de date. Dar cum poate face asta? Python folosește ceea ce se numește Python Database API pentru a interconecta cu bazele de date. Acest API ne permite să programa sisteme de gestionare a bazelor de date diferite (DBMS). Pentru acele DBMS diferite, procesul urmat la nivel de cod este același, care este după cum urmează:

  1. Stabilește o conexiune la baza de date de alegere.
  2. Creeaza o cursor pentru a comunica cu datele.
  3. Manipulați datele utilizând SQL (interacționa).
  4. Spuneți conexiunii fie să aplicați manipulările SQL pe date și să le faceți permanente (comite) sau spuneți-i să întrerupă aceste manipulări (rollback), returnând astfel datele în stare înainte ca interacțiunile să aibă loc.
  5. Închide conexiunea la baza de date.

SQLite

SQLite este un sistem open-source, complet echipat, autonom (necesită un suport redus din partea bibliotecilor externe), fără server (nu necesită un server pentru a rula motorul bazei de date și este o bază de date stocată local) pentru a instala și a nu configura), sistemul de gestionare a bazelor de date ușor bazate pe SQL (interogările SQL pot fi executate pe tabele SQLite) și utilizează unu fișier de date pentru a stoca date.

Lucrul frumos de știut este că SQLite este folosit de companii mari precum Google, Apple, Microsoft etc., ceea ce îl face foarte fiabil. În acest tutorial, vom folosi SQLite pentru a interacționa cu baza de date și, mai precis, vom lucra cu modulul sqlite3 din Python.

Python și SQLite

După cum sa menționat mai sus, lucrul cu bazele de date implică cinci principalele etape. Să vedem acei pași în acțiune.

1. Stabilirea unei conexiuni la baza dvs. de date de alegere

Această etapă se realizează după cum urmează:

conn = sqlite3.connect ('company.db')

După cum se menționează în SQLite3 documentație:

Pentru a utiliza modulul, trebuie să creați mai întâi a Conexiune obiect care reprezintă baza de date.

În codul de mai sus, observați că datele vor fi stocate în fișier company.db.

2. Creați un cursor pentru a comunica cu datele

Următorul pas în lucrul cu baza de date este crearea unui cursor, după cum urmează:

curs = conn.cursor ()

3. Manipulați datele utilizând SQL

După conectarea la baza de date și crearea unui cursor, suntem gata să lucrăm (interacționăm) cu datele. Cu alte cuvinte, acum putem rula comenzi SQL în baza de date company.db.

Să presupunem că vrem să creăm un nou tabel angajat în baza noastră de date companie. În acest caz, trebuie să executați o comandă SQL. Pentru a face acest lucru, vom folosi a executa() metodă a SQLite3 modul. Declarația Python va arăta astfel:

curs.execute ('crea angajat tabel (nume, vârstă)')

Această instrucțiune va rula o comandă SQL care va crea un tabel numit angajat, cu două coloane (câmpuri) Nume și vârstă.

Acum putem rula o nouă comandă SQL care va introduce datele în tabel, după cum urmează:

curs.execute ("inserați în valorile angajaților (" Ali ", 28)") 

De asemenea, puteți introduce mai multe valori simultan, după cum urmează:

valori = [("Brad", 54), ("Ross", 34), ("Muhammad", 28), ("Bilal", 44)]

În acest caz, mai degrabă decât folosind metoda a executa(), vom folosi metoda executemany () pentru a executa valorile multiple de mai sus.

curs.executemany ("inserați în valorile angajaților (?,?)", valori)

4. Angajați modificările

În acest pas, dorim să aplicăm (comitem) modificările pe care le-am făcut în etapa anterioară. Acest lucru se face pur și simplu după cum urmează:

conn.commit ()

5. Închideți conexiunea la baza de date

După efectuarea manipulărilor și efectuarea modificărilor, ultimul pas va fi închiderea conexiunii:

conn.close ()

Să punem toți pași împreună într-un scenariu. Programul va arata dupa cum urmeaza (observati ca trebuie import SQLite3 modulul primul):

import sqlite3 conn = sqlite3.connect ('company.db') curs = conn.cursor () curs.execute ('crea angajat tabel (nume, vârstă)') curs.execute 28) ") valori = [(" Brad ", 54), (" Ross ", 34), (" Muhammad ", 28), ('Bilal', 44)] curs.executemany ,?) ', valori) conn.commit () conn.close () 

Dacă executați scriptul, trebuie să obțineți un fișier numit company.db în directorul curent. Descărcați acest fișier, pe măsură ce îl vom folosi în pasul următor.

Să căutăm baza de date

După ce am creat o bază de date, un tabel și am adăugat niște date, să vedem ce este în interior company.db (fișierul descărcat în secțiunea de mai sus). Pentru aceasta, vom folosi un instrument frumos: DB Browser pentru SQLite. Continuați și descărcați instrumentul de pe mașina dvs. Odată ce deschideți programul, trebuie să obțineți un ecran care arată după cum urmează:

Deschideți baza de date folosind Deschideți baza de date butonul din partea de sus, caz în care ar trebui să obțineți Structura bazei de date, după cum urmează:

Observați că avem masa angajat enumerate, cu două câmpuri Nume și vârstă.

Pentru a confirma că codul de mai sus a funcționat și datele au fost adăugate în tabel, faceți clic pe Răsfoiți datele tab. Ar trebui să vedeți ceva de genul:

Deci, după cum puteți vedea, o bază de date (companie) și un tabel (angajat) au fost create și datele au fost adăugate cu succes în tabel.

Acest tutorial a fost o zgârietură pe suprafață pentru a începe să lucrați cu bazele de date utilizând Python. Puteți afla mai multe metode de la SQLite3 modul în care veți putea efectua diferite operațiuni de baze de date, cum ar fi actualizarea și interogarea bazei de date. A se distra!

Cod