Pubblicità

In questo capitolo, imparerete come utilizzare SQLite in programmi Python.

Installazione

SQLite3 può essere integrato con Python utilizzando il modulo sqlite3, che è stato scritto da Gerhard Haring. Fornisce un’interfaccia SQL conforme alle specifiche DB-API 2.0 descritte da PEP 249. Non è necessario installare questo modulo separatamente perché viene fornito di default insieme a Python versione 2.5.x in poi.,

Per utilizzare il modulo sqlite3, è necessario innanzitutto creare un oggetto di connessione che rappresenti il database e quindi opzionalmente è possibile creare un oggetto cursore, che vi aiuterà a eseguire tutte le istruzioni SQL.

Python sqlite3 module APIs

Di seguito sono riportate importanti routine di moduli sqlite3, che possono essere sufficienti per lavorare con il database SQLite dal tuo programma Python. Se stai cercando un’applicazione più sofisticata, puoi consultare la documentazione ufficiale del modulo Python sqlite3.

Sr.No., API & Descrizione
1

sqlite3.connect (database)

Questa API apre una connessione al file di database SQLite. È possibile utilizzare”: memory: “per aprire una connessione al database a un database che risiede nella RAM anziché sul disco. Se il database viene aperto correttamente, restituisce un oggetto di connessione.

Quando si accede a un database da più connessioni e uno dei processi modifica il database, il database SQLite viene bloccato fino al commit della transazione., Il parametro timeout specifica per quanto tempo la connessione deve attendere che il blocco vada via fino a quando non viene sollevata un’eccezione. Il valore predefinito per il parametro timeout è 5.0 (cinque secondi).

Se il nome del database specificato non esiste, questa chiamata creerà il database. È possibile specificare anche il nome file con il percorso richiesto se si desidera creare un database in qualsiasi altro luogo tranne nella directory corrente.

2

connessione.cursor ()

Questa routine crea un cursore che verrà utilizzato in tutta la programmazione del database con Python., Questo metodo accetta un singolo parametro opzionale cursorClass. Se fornito, questa deve essere una classe di cursore personalizzata che estende sqlite3.Cursore.

3

cursore.execute (sql)

Questa routine esegue un’istruzione SQL. L’istruzione SQL può essere parametrizzata (cioè segnaposto invece di letterali SQL). Il modulo sqlite3 supporta due tipi di segnaposto: punti interrogativi e segnaposto con nome (stile denominato).

Per esempio − cursore.execute (“insert into people values (?, ?) “, (chi, età))

4

connessione.,execute (sql)

Questa routine è una scorciatoia del metodo di esecuzione sopra fornito dall’oggetto cursore e crea un oggetto cursore intermedio chiamando il metodo cursore, quindi chiama il metodo di esecuzione del cursore con i parametri forniti.

5

cursore.executemany (sql, seq_of_parameters)

Questa routine esegue un comando SQL contro tutte le sequenze di parametri o mappature trovate nella sequenza sql.

6

connessione.,executemany (sql)

Questa routine è una scorciatoia che crea un oggetto cursore intermedio chiamando il metodo cursore, quindi chiama il cursore.s executemany metodo con i parametri indicati.

7

cursore.executescript (sql_script)

Questa routine esegue più istruzioni SQL contemporaneamente fornite sotto forma di script. Emette prima un’istruzione COMMIT, quindi esegue lo script SQL che ottiene come parametro. Tutte le istruzioni SQL devono essere separate da un punto e virgola (;).

8

connessione.,executescript (sql_script)

Questa routine è una scorciatoia che crea un oggetto cursore intermedio chiamando il metodo cursore, quindi chiama il metodo executescript del cursore con i parametri indicati.

9

connessione.total_changes ()

Questa routine restituisce il numero totale di righe del database che sono state modificate, inserite o eliminate dall’apertura della connessione al database.

10

connessione.commit ()

Questo metodo impegna la transazione corrente., Se non si chiama questo metodo, tutto ciò che hai fatto dall’ultima chiamata a commit() non è visibile da altre connessioni al database.

11

connessione.rollback()

Questo metodo ripristina tutte le modifiche al database dall’ultima chiamata a commit().

12

connessione.close()

Questo metodo chiude la connessione al database. Si noti che questo non chiama automaticamente commit (). Se chiudi la connessione al database senza chiamare prima commit (), le tue modifiche andranno perse!

13

cursore.,fetchone ()

Questo metodo recupera la riga successiva di un set di risultati di query, restituendo una singola sequenza o Nessuna quando non sono disponibili più dati.

14

cursore.fetchmany ()

Questa routine recupera il prossimo set di righe di un risultato di query, restituendo un elenco. Un elenco vuoto viene restituito quando non sono disponibili più righe. Il metodo tenta di recuperare tutte le righe indicate dal parametro size.

15

cursore.fetchall ()

Questa routine recupera tutte le righe (rimanenti) di un risultato di query, restituendo un elenco., Un elenco vuoto viene restituito quando non sono disponibili righe.

Connetti al database

Il seguente codice Python mostra come connettersi a un database esistente. Se il database non esiste, verrà creato e infine verrà restituito un oggetto database.

#!/usr/bin/pythonimport sqlite3conn = sqlite3.connect('test.db')print "Opened database successfully";

Qui, è anche possibile fornire il nome del database come nome speciale :memoria: per creare un database nella RAM. Ora, eseguiamo il programma di cui sopra per creare il nostro test di database.db nella directory corrente. È possibile modificare il percorso secondo il vostro requisito., Mantenere il codice di cui sopra in sqlite.py file ed eseguilo come mostrato di seguito. Se il database viene creato correttamente, verrà visualizzato il seguente messaggio.

$chmod +x sqlite.py$./sqlite.pyOpen database successfully

Crea una tabella

Il seguente programma Python verrà utilizzato per creare una tabella nel database creato in precedenza.

Quando viene eseguito il programma sopra, creerà la tabella AZIENDALE nel test.,db e visualizzerà i seguenti messaggi-

Opened database successfullyTable created successfully

Operazione di inserimento

Il seguente programma Python mostra come creare record nella tabella AZIENDALE creata nell’esempio precedente.

Quando viene eseguito il programma sopra, creerà i record indicati nella tabella AZIENDALE e visualizzerà le seguenti due righe:

Opened database successfullyRecords created successfully

SELEZIONA Operazione

Il seguente programma Python mostra come recuperare e visualizzare i record dalla tabella AZIENDALE creata nell’esempio precedente.,

Quando viene eseguito il programma di cui sopra, produrrà il seguente risultato.

Operazione di AGGIORNAMENTO

Il seguente codice Python mostra come utilizzare l’istruzione UPDATE per aggiornare qualsiasi record e quindi recuperare e visualizzare i record aggiornati dalla tabella AZIENDALE.

Quando viene eseguito il programma di cui sopra, produrrà il seguente risultato.

Opened database successfullyTotal number of rows updated : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 25000.0ID = 2NAME = AllenADDRESS = TexasSALARY = 15000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation done successfully

Operazione di ELIMINAZIONE

Il seguente codice Python mostra come utilizzare l’istruzione DELETE per eliminare qualsiasi record e quindi recuperare e visualizzare i record rimanenti dalla tabella AZIENDALE.,

When the above program is executed, it will produce the following result.

Opened database successfullyTotal number of rows deleted : 1ID = 1NAME = PaulADDRESS = CaliforniaSALARY = 20000.0ID = 3NAME = TeddyADDRESS = NorwaySALARY = 20000.0ID = 4NAME = MarkADDRESS = Rich-MondSALARY = 65000.0Operation done successfully
Advertisements

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *