Python SQLite - Introduzione
SQLite3 può essere integrato con Python utilizzando il modulo sqlite3, che è stato scritto da Gerhard Haring. Fornisce un'interfaccia SQL conforme alla specifica DB-API 2.0 descritta da PEP 249. Non è necessario installare questo modulo separatamente perché viene fornito per impostazione predefinita insieme alla versione Python 2.5.x in poi.
Per utilizzare il modulo sqlite3, devi prima creare un oggetto di connessione che rappresenti il database e poi opzionalmente puoi creare un oggetto cursore, che ti aiuterà nell'esecuzione di tutte le istruzioni SQL.
API del modulo Python SQLite3
Di seguito sono riportate importanti routine del modulo sqlite3, che possono essere sufficienti per il tuo requisito per lavorare con il database SQLite dal tuo programma Python. Se stai cercando un'applicazione più sofisticata, puoi esaminare la documentazione ufficiale del modulo sqlite3 di Python.
Sr.No. | API e descrizione |
---|---|
1 | sqlite3.connect(database [,timeout ,other optional arguments]) Questa API apre una connessione al file di database SQLite. È possibile utilizzare ": memory:" per aprire una connessione a un database che risiede nella RAM invece che su disco. Se il database viene aperto correttamente, restituisce un oggetto di connessione. |
2 | connection.cursor([cursorClass]) Questa routine crea un cursore che verrà utilizzato durante la programmazione del database con Python. Questo metodo accetta un singolo parametro opzionale cursorClass. Se fornito, deve essere una classe cursore personalizzata che estende sqlite3.Cursor. |
3 | cursor.execute(sql [, optional parameters]) 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 con nome). For example - cursor.execute ("inserisci nei valori delle persone (?,?)", (Who, age)) |
4 | connection.execute(sql [, optional parameters]) Questa routine è una scorciatoia del metodo di esecuzione precedente 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 | cursor.executemany(sql, seq_of_parameters) Questa routine esegue un comando SQL su tutte le sequenze di parametri o le mappature trovate nella sequenza sql. |
6 | connection.executemany(sql[, parameters]) Questa routine è una scorciatoia che crea un oggetto cursore intermedio chiamando il metodo del cursore, quindi chiama il metodo cursor.s executemany con i parametri forniti. |
7 | cursor.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 | connection.executescript(sql_script) Questa routine è una scorciatoia che crea un oggetto cursore intermedio chiamando il metodo del cursore, quindi chiama il metodo executescript del cursore con i parametri forniti. |
9 | connection.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 | connection.commit() Questo metodo esegue il commit della transazione corrente. Se non chiami questo metodo, tutto ciò che hai fatto dall'ultima chiamata a commit () non è visibile da altre connessioni al database. |
11 | connection.rollback() Questo metodo ripristina tutte le modifiche al database dall'ultima chiamata a commit (). |
12 | connection.close() Questo metodo chiude la connessione al database. Nota che questo non chiama automaticamente commit (). Se chiudi semplicemente la connessione al database senza chiamare prima commit (), le tue modifiche andranno perse! |
13 | cursor.fetchone() Questo metodo recupera la riga successiva di un set di risultati di query, restituendo una singola sequenza o Nessuno quando non sono disponibili più dati. |
14 | cursor.fetchmany([size = cursor.arraysize]) Questa routine recupera la serie successiva di righe del risultato di una query, restituendo un elenco. Quando non sono disponibili più righe, viene restituito un elenco vuoto. Il metodo cerca di recuperare tutte le righe indicate dal parametro size. |
15 | cursor.fetchall() Questa routine recupera tutte le righe (rimanenti) di un risultato di query, restituendo un elenco. Quando non sono disponibili righe, viene restituito un elenco vuoto. |