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!
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:
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.
Come accennato in precedenza, il lavoro con i database comporta cinque passi principali. Vediamo quei passaggi in azione.
Questo passaggio è ottenuto come segue:
conn = sqlite3.connect ('company.db')
Come menzionato nel sqlite3
documentazione:
Per usare il modulo, devi prima creare unConnessione
oggetto che rappresenta il database.
Nel codice precedente, si noti che i dati verranno memorizzati nel file company.db
.
Il prossimo passo per lavorare con il database è creare un cursore, come segue:
curs = conn.cursor ()
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)
In questo passaggio, vorremmo applicare (impegnare) le modifiche che abbiamo apportato nel passaggio precedente. Questo è fatto semplicemente come segue:
conn.commit ()
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.
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!