SQLite

Come accedere a SQLite da Python

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

SQLite è un motore di database semplice, potente, open source e relazionale che supporta grandi applicazioni software e sistemi embedded. SQLite è autonomo e richiede una configurazione minima, il che lo rende estremamente facile da configurare ed eseguire con un tempo minimo. Per impostazione predefinita, Python è integrato con un modulo SQLite (sqlite3), un modulo molto intuitivo per lavorare con i database SQLite in Python.

In questo tutorial, vedremo come utilizzare Python per lavorare con i database SQLite. Dallo stabilire 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 tua distribuzione Linux, puoi scaricare l'archivio SQLite da https://www.sqlite.org/download.html o usa il gestore di pacchetti.

Per installarlo su Debian:

sudo apt-get update
sudo apt-get install sqlite -y

Successivamente, dovresti avere l'ultima versione di Python3 installata. Python dovrebbe essere già preinstallato nella tua 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, usa il comando:

$ sqlite

SQLite versione 2.8.17 Immettere ".aiuto” per le istruzioni

sqlite>

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

sqlite> .Aiuto
.database             Elenca i nomi e i file dei database allegati
.discarica ?TAVOLO?…       Scarica il database in formato testo text
.echo ON|OFF           Attiva o disattiva il comando echo
.esci                  Esci da questo programma
.spiega ON|OFF        Attiva o disattiva la modalità di output adatta a EXPLAIN.
.intestazioni ON|OFF      Attiva o disattiva la visualizzazione delle intestazioni
.aiuto                  Mostra questo messaggio
.indici TABLE         Mostra i nomi di tutti gli indici su TABLE
.mode MODE             Imposta la modalità su "linea/e", "colonna/e",
"inserisci", "lista" o "html"
----------------------------------------------------------------------

Per uscire dalla shell SQLite, usa il pulsante .comando esci.

sqlite> .smettere

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

Consiglio vivamente di sperimentare con la shell SQLite e acquisire familiarità in quanto ti consentirà 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 fornito in bundle con Python.

Considera lo script seguente per connetterti al database SQLite.

import sqlite3 from sqlite3 import Error
def connect_db(db_path):
connessione = Nessuno prova:
connessione = sqlite3.connect(db_path)
print("Database connesso con successo")
tranne Errore come e:
print(f"Si è verificato un errore: e")
connessione di ritorno
connect_db("/home/utente/Desktop/demo.sqlite")

Iniziamo importando i moduli SQLite ed Error.
Nella riga 3, creiamo una funzione connect_db() che prende come argomento il percorso del database.
La parte successiva include un blocco try/error. 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 degli errori cerca di catturare le eccezioni e le stampa all'utente.
Nella riga finale, chiamiamo la funzione connect_db e passiamo il percorso al database che vogliamo usare o creare.

NOTA: Se vuoi creare un database di memoria invece di un disco, puoi specificare :memory nell'oggetto di connessione.

sqlite3.connetti(“:memoria”)

SQLite Crea tabella

In SQLite, possiamo utilizzare la shell SQL per creare tabelle utilizzando la query CREATE TABLE. La sintassi generale è la seguente:

CREATE TABLE database_name.nome_tabella (
nome_colonna tipo di dati PRIMARY KEY(colonna(e),
column2_name tipo di dati,
… columnN_name tipo di dati,
);

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

import sqlite3 from sqlite3 import Error
def connect_db(db_path):
connessione = Nessuno
provare:
connessione = sqlite3.connect(db_path)
print("Database connesso con successo")
tranne Errore come e:
print(f"Si è verificato un errore: e")
return connection def run_query(connection, sql_query):
cursore = connessione.cursore()
provare:
cursore.esegui(sql_query)
connessione.commettere()
print("Query SQL eseguita correttamente... [OK]")
tranne Errore come e:
print(f" Query fallita... e")
domanda = """
CREA TABELLA SE NON ESISTE mostra (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nome TESTO NON NULL,
anno INTERO,
genere TESTO,
paese TESTO
);
"""
run_query(connection=connect_db("/home/user/Desktop/sql.sqlite"), sql_query=query)

Discutiamo ora cosa fa il codice sopra: trova la prima funzione spiegata sopra (fare riferimento). Nella seconda funzione, create, passiamo la connessione e la query da eseguire come parametri. Le seguenti righe creano un oggetto cursore che useremo per chiamare il metodo di esecuzione. Come accennato in precedenza, le righe successive chiamano l'oggetto del cursore per eseguire il metodo e passare la query come parametro. Il blocco stampa anche un messaggio sulla corretta esecuzione della query. Una volta che la query viene eseguita correttamente, diciamo a SQLite di utilizzare il metodo commit per salvare le modifiche nel database. Il blocco salvo rileva le eccezioni e stampa il messaggio di errore per l'utente. Infine, creiamo la query da eseguire utilizzando la semplice sintassi SQLite.

SQLite Inserisci record

Per aggiungere dati al database SQLite, possiamo tuffarci nella funzione run_query() che abbiamo usato per creare in quanto può eseguire qualsiasi query SQLite che gli passiamo. Tuttavia, usiamo la query INSERT INTO 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", "Fantascienza", "USA"),
("301", "Star-Trek: Picard", "2020", "Fantascienza", "USA");
""" run_query(connection=connect_db("/home/user/Desktop/sql.sqlite"), sql_query=add_shows)

Ora dobbiamo chiamare la funzione run_query e aggiungere il passaggio alla query add_shows per inserire i dati nella tabella degli spettacoli. Assicurati che la tabella in cui stai inserendo i dati esista per evitare di ricevere un errore.

SQLite Elimina record

Puoi anche usare la funzione run_query() per rimuovere i record dalla tabella specificata. Tutto ciò che serve è impostare la query come DELETE FROM.

Considera la seguente sottoquery:

remove = "DELETE FROM mostra WHERE name = 'Brooklyn Nine-Nine'" run_query(connection=connect_db("/home/user/Deskop/sql.sqlite"), sql_query=rimuovi)

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

Conclusione

Questo tutorial ti ha insegnato come usare Python per accedere e interagire con i database SQLite. Da quanto appreso da questo tutorial, ora puoi creare funzioni, connetterti a database SQLite, creare tabelle, inserire dati ed eliminarli. Sebbene questa sia una guida introduttiva per lavorare con SQLite in Python, dovrebbe iniziare ad apprendere altre tecnologie come SQLAlchemy e simili.

Installa l'ultimo Dolphin Emulator per Gamecube e Wii su Linux
L'emulatore Dolphin ti consente di giocare ai giochi Gamecube e Wii scelti su Personal Computer Linux (PC). Essendo un emulatore di giochi liberament...
Come utilizzare GameConqueror Cheat Engine in Linux
L'articolo copre una guida sull'utilizzo del motore cheat GameConqueror in Linux. Molti utenti che giocano su Windows utilizzano spesso l'applicazione...
I migliori emulatori di console di gioco per Linux
Questo articolo elencherà il popolare software di emulazione della console di gioco disponibile per Linux. L'emulazione è un livello di compatibilità ...