Come accedere a SQLite da Python

Come accedere a SQLite da Python
Python è un linguaggio di programmazione popolare e robusto ricco di caratteristiche che lo rendono utilizzabile in una vasta gamma di casi come la scienza dei dati, il networking, l'automazione IT, i test di penetrazione e molti altri. Ha anche una semplice sintassi che consente agli sviluppatori che conoscono altri linguaggi di programmazione di adattarsi all'utilizzo di Python con facilità.I dati sono ovunque e una vasta gamma di applicazioni software interagisce con i dati utilizzando un sistema di gestione del database. SQLite è uno dei sistemi di gestione del database più popolari di Python.

SQLite è un motore di database semplice, potente, open source e relazionale che supporta grandi applicazioni software e sistemi incorporati. SQLite è autonomo e richiede una configurazione minima, rendendolo più facile da impostare ed eseguire con un tempo minimo. Per impostazione predefinita, Python viene integrato con un modulo SQLite (SQLite3), un modulo molto intuitivo per lavorare con database SQLite in Python.

In questo tutorial, esamineremo come usare Python per lavorare con i database SQLite. Dall'istituzione di una connessione alla creazione di database, alla lettura di database, all'aggiornamento e alla rimozione di database.

Iniziamo installando SQLite:

Installazione di sqlite e python

A seconda della distribuzione di Linux, è possibile scaricare l'archivio SQLite da https: // www.sqlite.org/download.html o usa il gestore dei pacchetti.

Per installarlo su Debian:

Sudo Apt-get Aggiornamento
sudo apt -get install sqlite -y

Successivamente, dovresti avere l'ultima versione di Python3 installata. Python dovrebbe già essere preinstallato nella distribuzione per impostazione predefinita.

Shell sqlite

Il metodo predefinito per interagire con i database SQLite è utilizzare la shell. La shell consente di eseguire comandi SQL in linea o una raccolta per eseguire funzioni sui database.

Per avviare la shell SQLite, utilizzare il comando:

$ sqlite

SQLite versione 2.8.17 Inserisci ".Aiuto "per le istruzioni

sqlite>

Questo dovrebbe avviare la shell SQLite con un prompt che consente di inserire comandi. Inizia digitando il comando .aiutare a visualizzare l'aiuto della shell.

sqlite> .aiuto
.Database elencano nomi e file dei database allegati
.scarico ?TAVOLO?... Dump il database in un formato di testo
.Echo On | OFF comando gira eco acceso o spento
.Esci, esci da questo programma
.Spiegare attivo | OFF trasforma la modalità di uscita adatta per spiegare o disattivare.
.Intesta (i) ON | OFF girare o spento le intestazioni
.Aiuto a mostrare questo messaggio
.La tabella degli indici mostra i nomi di tutti gli indici sulla tabella
.modalità modalità modalità modalità in una delle "righe (s)", "colonna (i",
"Insert", "elenco" o "html"
----------------------------------------------------------------------

Per uscire dalla shell SQLite, usa il .smettila di comando.

sqlite> .esentato

Ci sono altre funzioni e operazioni che puoi utilizzare all'interno della shell SQLite. Ad esempio, per visualizzare tutti i database, è possibile utilizzare il .comando del database.

Consiglio vivamente di sperimentare il guscio SQLite e di familiarizzare in quanto ti permetterà di capire come utilizzare il modulo SQLite3 in Python.

Connessione a un database

Usiamo ora i moduli Python e SQLite3 per interagire con i database SQLite. È bene notare che ci sono altri moduli Python che puoi usare per interagire con SQLite. Tuttavia, SQLite3 è semplice e viene in bundle con Python.

Considera lo script di seguito per connettersi al database SQLite.

Importa SQLite3 da SQLite3 Errore di importazione
def connect_db (db_path):
connessione = nessuno prova:
connessione = sqlite3.connect (db_path)
print ("database connesso correttamente")
Tranne l'errore come E:
print (f "Un errore si è verificato: e")
Connessione di restituzione
Connect_db ("/home/utente/desktop/demo.sqlite ")

Iniziamo importando i moduli SQLite e Error.
Nella riga 3, creiamo una funzione Connect_db () che prende il percorso del database come argomento.
La parte successiva include un blocco di prova/errore. La prima parte prende il percorso del database come argomento e stabilisce una connessione. Nota, in sqlite, se il database specificato non esiste, viene creato automaticamente.
Il blocco di errore cerca di catturare le eccezioni e le stamparli all'utente.
Nella riga finale, chiamiamo la funzione Connect_DB e passiamo il percorso al database che vogliamo utilizzare o creare.

NOTA: Se si desidera creare un database di memoria anziché un disco, è possibile specificare: Memoria nel Connect OBJ.

sqlite3.Connect (": Memory")

SQLite Crea tabella

In SQLite, possiamo utilizzare la shell SQL per creare tabelle utilizzando la query di tabella Crea. La sintassi generale è come:

Crea tabella database_name.table_name (
Tasta primaria del tipo di dati di colonnario_name (colonna,
Datatype colonnario2_name,
... Datatype colonnario_name,
);

Non mi immergerò nella creazione di tabelle usando SQLite Shell poiché il nostro obiettivo principale è Python. Considera la documentazione SQL Lite dalla risorsa seguente per saperne di più. Ora, per utilizzare i moduli Python e SQLite3 per creare tabelle di database, dobbiamo utilizzare l'oggetto cursore ed eseguire le funzioni delle query SQL. Considera il codice seguente:

Importa SQLite3 da SQLite3 Errore di importazione
def connect_db (db_path):
connessione = nessuno
Tentativo:
connessione = sqlite3.connect (db_path)
print ("database connesso correttamente")
Tranne l'errore come E:
print (f "Un errore si è verificato: e")
Connessione di restituzione def run_query (connessione, sql_query):
Cursore = connessione.cursore()
Tentativo:
cursore.Execute (SQL_Query)
connessione.commettere()
Stampa ("SQL query run correttamente ... [ok]")
Tranne l'errore come E:
print (f "query non riuscita ... e")
query = "" "
Crea la tabella se non esiste mostra (
ID Integer Key Key Autoincrement,
Nome testo non null,
anno int,
testo di genere,
Testo di campagna
);
"" "
run_query (connection = connect_db ("/home/utente/desktop/sql.sqlite "), sql_query = query)

Discutiamo ora ciò che il codice sopra fa Find la prima funzione spiegata sopra (fare riferimento). Nella seconda funzione, crea, passiamo la connessione e la query da eseguire come parametri. Le seguenti righe creano un oggetto cursore che useremo per chiamare il metodo Esecute. Come accennato in precedenza, le righe successive chiamano l'oggetto del cursore per eseguire il metodo e chiamare la query come parametro. Il blocco stampa anche un messaggio sull'esecuzione della query riuscita. Una volta che la query esegue correttamente, diciamo a SQLite di utilizzare il metodo di commit per salvare le modifiche al database. Il blocco tranne cattura le eccezioni e stampa il messaggio di errore all'utente. Infine, creiamo la query da eseguire utilizzando la sintassi SQLite semplice.

SQLite Insert Records

Per aggiungere dati al database SQLite, possiamo immergerci nella funzione run_query () che abbiamo usato per creare in quanto può eseguire qualsiasi query SQLite che passiamo ad esso. Tuttavia, utilizziamo l'inserto nella query per aggiungere dati alla tabella.

Considera il blocco seguente:

add_shows = "" "
INSERIRE
spettacoli (id, nome, anno, genere, paese)
VALORI
("101", "Brooklyn Nine-Nine", "2013", "Commedia", "USA"),
("201", "Star-Trek: Discovery", "2017", "Sci-Fi", "USA"),
("301", "Star-Trek: Picard", "2020", "fantascienza", "USA");
"" "run_query (connection = connect_db ("/home/utente/desktop/sql.sqlite "), sql_query = add_shows)

Ora dobbiamo chiamare la funzione Run_Query e aggiungere il passaggio ADD_SHOWS di query per inserire i dati nella tabella Show. Assicurati che la tabella in cui si inserisce i dati in cui esista per evitare di ottenere un errore.

SQLite Elimina i record

È inoltre possibile utilizzare la funzione run_query () per rimuovere i record dalla tabella specificata. Tutto ciò che serve è impostare la query come eliminazione.

Prendi in considerazione la seguente query secondaria:

Rimuovi = "Elimina dagli spettacoli dove Name = 'Brooklyn Nine-Nine'" Run_Query (Connection = Connect_Db ("/Home/User/Deskop/SQL.sqlite "), sql_query = rimozione)

La query sopra rimuove lo spettacolo "Brooklyn Nine-Nine" dalla tabella degli spettacoli.

Conclusione

Questo tutorial ti ha insegnato come utilizzare Python per accedere e interagire con i database SQLite. Da quello che hai imparato da questo tutorial, ora puoi creare funzioni, connetterti a database SQLite, creare tabelle, inserire dati ed eliminarli. Sebbene questa sia una guida di partenza per lavorare con SQLite in Python, dovrebbe iniziare a imparare altre tecnologie come SQLalchemy e simili.