Gestione del database in Python

Nell'era dell'informazione in cui viviamo, possiamo vedere quanti dati il ​​mondo sta scambiando. Fondamentalmente stiamo creando, archiviando e recuperando dati, ampiamente! Ci dovrebbe essere un modo per gestire tutto questo: non potrebbe essere diffuso ovunque senza alcuna gestione, giusto? Ecco che arriva il Database Management System (DBMS).

Il DBMS è un sistema software che consente di creare, archiviare, modificare, recuperare e gestire in altro modo i dati da un database. Tali sistemi hanno anche dimensioni variabili, che vanno dai piccoli sistemi che girano semplicemente sul tuo personal computer a quelli più grandi che girano su mainframe.

Il nostro obiettivo in questo tutorial è su Python piuttosto che sulla progettazione di database. Sì, Python è meravigliosamente in grado di interagire con i database, e questo è ciò che mostrerò in questo tutorial.

Iniziamo!

API del database Python

Come accennato in precedenza, Python è in grado di interagire con i database. Ma come può farlo? Python usa quello che viene chiamato il API del database Python per interfacciarsi con i database. Questa API ci consente di programmare diversi sistemi di gestione dei database (DBMS). Per i diversi DBMS, tuttavia, il processo seguito a livello di codice è lo stesso, che è il seguente:

  1. Stabilire connessione al tuo database di scelta.
  2. Creare un cursore comunicare con i dati.
  3. Manipola i dati usando SQL (interagire).
  4. Dì alla connessione di applicare le manipolazioni SQL ai dati e renderli permanenti (commettere), o dirgli di abortire quelle manipolazioni (rollback), restituendo così i dati allo stato prima che si verificassero le interazioni.
  5. Vicino la connessione al database.

SQLite

SQLite è un open-source, full-optional, autonomo (richiede poco supporto da librerie esterne), serverless (non richiede un server per eseguire il motore di database, ed è un database memorizzato localmente), zero-configuration (niente installare o configurare), sistema di gestione del database leggero basato su SQL (le query SQL possono essere eseguite su tabelle SQLite) e utilizza uno file di dati per memorizzare i dati.

La cosa bella da sapere è che SQLite è utilizzato da grandi aziende come Google, Apple, Microsoft, ecc., Il che lo rende molto affidabile. In questo tutorial, useremo SQLite per interagire con il database, e in particolare lavoreremo con il modulo sqlite3 in Python.

Python e SQLite

Come accennato in precedenza, il lavoro con i database comporta cinque passi principali. Vediamo quei passaggi in azione.

1. Stabilire una connessione al database di scelta

Questo passaggio è ottenuto come segue:

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

Come menzionato nel sqlite3 documentazione:

Per usare il modulo, devi prima creare un Connessione oggetto che rappresenta il database.

Nel codice precedente, si noti che i dati verranno memorizzati nel file company.db.

2. Creare un cursore per comunicare con i dati

Il prossimo passo per lavorare con il database è creare un cursore, come segue:

curs = conn.cursor ()

3. Manipolare i dati usando SQL

Dopo essersi connessi al database e aver creato un cursore, siamo ora pronti per lavorare (interagire) con i dati. In altre parole, ora possiamo eseguire comandi SQL sul database company.db.

Diciamo che vogliamo creare una nuova tabella dipendente nel nostro database azienda. In questo caso, è necessario eseguire un comando SQL. Per fare ciò, useremo il eseguire() metodo del sqlite3 modulo. L'istruzione Python avrà quindi il seguente aspetto:

curs.execute ('create table employee (name, age)')

Questa istruzione eseguirà un comando SQL che creerà una tabella chiamata dipendente, con due colonne (campi) nome e età.

Ora possiamo eseguire un nuovo comando SQL che inserirà i dati nella tabella, come segue:

curs.execute ("inserisci nei valori dipendenti ('Ali', 28)") 

Puoi anche inserire più valori contemporaneamente, come segue:

values ​​= [('Brad', 54), ('Ross', 34), ('Muhammad', 28), ('Bilal', 44)]

In questo caso, piuttosto che usare il metodo eseguire(), useremo il metodo executemany () per eseguire i valori multipli sopra.

curs.executemany ('inserisci nei valori dei dipendenti (?,?)', valori)

4. Conflicare le modifiche

In questo passaggio, vorremmo applicare (impegnare) le modifiche che abbiamo apportato nel passaggio precedente. Questo è fatto semplicemente come segue:

conn.commit ()

5. Chiudere la connessione al database

Dopo aver eseguito le nostre manipolazioni e aver eseguito le modifiche, l'ultimo passaggio sarà chiudere la connessione:

conn.Close ()

Mettiamo insieme tutti i passaggi in uno script. Il programma avrà il seguente aspetto (nota che dobbiamo importare il sqlite3 modulo prima):

import sqlite3 conn = sqlite3.connect ('company.db') curs = conn.cursor () curs.execute ('create table employee (name, age)') curs.execute ("inserire nei valori dipendenti ('Ali', 28) ") values ​​= [('Brad', 54), ('Ross', 34), ('Muhammad', 28), ('Bilal', 44)] curs.executemany ('inserire in valori dipendenti (? ,?) ', valori) conn.commit () conn.close () 

Se si esegue lo script, è necessario ottenere un file chiamato company.db nella tua directory attuale. Scarica questo file come lo useremo nel passaggio successivo.

Sfoglia il database

Dopo aver creato un database, una tabella e aggiunto alcuni dati, vediamo cosa c'è dentro company.db (il file scaricato nella sezione precedente). Per questo, useremo un bell'attrezzo: DB Browser for SQLite. Vai avanti e scarica lo strumento sulla tua macchina. Una volta aperto il programma, dovresti ottenere una schermata simile alla seguente:

Aprire il database usando il Apri database pulsante in alto, nel qual caso si dovrebbe ottenere il Struttura del database, come segue:

Si noti che abbiamo il tavolo dipendente elencato, con due campi nome e età.

Per confermare che il nostro codice sopra funzionava e i dati sono stati aggiunti alla tabella, fare clic su Sfoglia i dati scheda. Dovresti vedere qualcosa di simile al seguente:

Quindi, come puoi vedere, un database (azienda) e una tabella (dipendente) sono stati creati e i dati sono stati aggiunti correttamente alla tabella.

Questo tutorial è stato un graffio in superficie per iniziare a lavorare con i database usando Python. Puoi conoscere altri metodi dal sqlite3 modulo, dove sarete in grado di eseguire diverse operazioni di database come l'aggiornamento e l'interrogazione del database. Divertiti!