Vai al contenuto principale

Guida per principianti a SQLite

Impara le basi dei database SQLite: dai dot command di SQLite a un esempio delle loro applicazioni pratiche usando l'interfaccia a riga di comando.
Aggiornato 29 set 2026  · 10 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

Che cos'è SQLite?

Se conosci i sistemi di database relazionali, è probabile che tu abbia sentito parlare di colossi come MySQL, SQL Server o PostgreSQL. Tuttavia, SQLite è un altro utile RDBMS molto semplice da configurare e utilizzare, che offre diverse caratteristiche peculiari rispetto ad altri database relazionali. Queste includono:

  • Nessun bisogno di server: non ci sono processi di server da avviare, arrestare o configurare. Non è necessario che gli amministratori di database assegnino istanze o gestiscano le autorizzazioni di accesso degli utenti.
  • Semplici file di database: un database SQLite è un singolo file ordinario su disco che può essere archiviato in qualsiasi cartella. Questo lo rende anche facile da condividere, dato che i file del database possono essere copiati su una chiavetta o inviati via email con facilità.
  • Tipizzazione manifesta: la maggior parte dei motori di database SQL si basa sulla tipizzazione statica. Vale a dire, puoi archiviare solo valori del tipo di dato associato a una determinata colonna. SQLite, invece, usa la tipizzazione manifesta, che consente di archiviare qualsiasi quantità di qualsiasi tipo di dato in qualsiasi colonna indipendentemente dal tipo dichiarato della colonna. Nota che ci sono alcune eccezioni a questa regola. Una di queste è rappresentata dalle colonne integer primary key, che possono archiviare solo interi.

Come per molte cose, però, ci sono anche alcune limitazioni di SQLite rispetto ad altri motori di database. Per esempio, SQLite non offre l'opzione per eseguire Right o Full Outer Join, e l'assenza di server può anche essere uno svantaggio per la sicurezza e la protezione contro un uso improprio dei dati. Ciò nonostante, è uno strumento molto potente che torna davvero utile in certe situazioni. Per esempio, ho usato un database SQLite in un recente progetto di analisi dei social media per archiviare una $edge \space list^{1}$ di milioni di utenti Twitter in modo molto semplice ed efficiente.

Quindi, in questo tutorial per principianti, illustrerò come lavorare con un database SQLite. Vedremo l'installazione di SQLite, la creazione e le operazioni sulle tabelle, i dot command di SQLite e come usare semplici query SQL per manipolare i dati all'interno di un database SQLite.

$^{1}$ Una edge list, o lista di adiacenza, è una raccolta di liste non ordinate usata per rappresentare un grafo nell'analisi delle reti. Ogni lista descrive l'insieme dei vicini di un dato nodo o vertice contenuto nel grafo.

Come installare e configurare SQLite

La prima cosa che vedremo è come installare SQLite sul tuo computer. È estremamente semplice. Se guardi il tutorial SQLite con Python di Sayak Paul, scoprirai che esiste uno strumento GUI chiamato DB Browser for SQLite che ti permette di iniziare facilmente. Tuttavia, per variare, ti mostrerò come usare lo strumento da riga di comando, che a volte preferisco anch'io.

La prima cosa da fare, se hai un dispositivo Windows, è andare a questo sito e scaricare sqlite-tools-win32-x86-3270200.zip. Una volta estratta la cartella, dovresti vedere i seguenti tre file:

file sqlite

Dopodiché, avviare la riga di comando di SQLite è semplice come fare clic sull'applicazione sqlite3, che farà comparire la console così:

finestra sqlite3

Ora potresti notare che l'impostazione predefinita di SQLite è usare un database transitorio in memoria. Nella stragrande maggioranza dei casi non vorrai usarlo. Invece, creeremo un nuovo database usando il dot command .open seguito dal nome che vuoi dare al nuovo file di database (vedi sotto):

nuovo database sqlite3

Così, in un attimo, hai creato un nuovo database. Nota anche che è fondamentale mettere .db dopo il nome desiderato del database per creare un file di database. Abbiamo chiamato il database Tweet_Data.db perché userò tweet per popolare le tabelle del database.

Creazione delle tabelle

Con il database creato, possiamo procedere a creare la nostra tabella di tweet. Possiamo farlo in due modi. Primo, possiamo semplicemente importare un file .csv e trasformarlo in una tabella. Questo si fa impostando SQLite in modalità csv usando il dot command .mode seguito da csv, e con il dot command .import che accetta un file (in questo caso un csv nella stessa cartella, ma può essere un qualsiasi csv nel tuo computer se scrivi il percorso completo) e un nome di tabella a tua scelta. Potresti anche voler visualizzare le intestazioni di colonna usando il dot command .headers seguito da on. (Vedi sotto)

importare csv in sqlite3

Una volta fatto, puoi usare il comando .tables per visualizzare tutte le tabelle disponibili in un file di database, così come il comando .schema seguito dal nome di una tabella per visualizzarne la struttura. Inoltre, puoi eseguire una semplice query come SELECT $$ FROM Table_Name* per verificare che i dati ci siano.

struttura tabella visualizzata sqlite3

Oltre a creare tabelle importando file come csv, puoi anche creare tabelle usando CREATE TABLE e poi inserire nuove righe con INSERT INTO. Nell'esempio seguente vedrai come creare una tabella da zero e inserire due nuove righe.

Nota: nella riga di comando di SQLite, se vuoi continuare a scrivere la stessa query sulla riga successiva come faccio nell'esempio, premi semplicemente Invio quando vuoi una nuova riga. La query verrà valutata dopo aver premuto Invio quando c'è un punto e virgola alla fine.

creare tabella sqlite3

Esportare da SQLite

Se a un certo punto decidi di voler esportare i risultati di una query in un file esterno come un csv, puoi farlo facilmente con la potenza di SQLite. Per un'esportazione pulita in csv, puoi usare un processo simile a quello dell'import. Prima usi .header seguito da on e .mode seguito da csv. Poi usi il dot command .output seguito dal nome del file csv desiderato e, infine, esegui la query SQL che vuoi esportare ed esci da SQLite con il comando .exit. Proviamo a esportare in un csv la nuova tabella che abbiamo creato nel passaggio precedente.

output sqlite3

Ecco il nuovo csv creato anche con i dati di Sample_Tweets_2.

nuovo csv

Aggiornare le tabelle

Oltre a creare ed esportare tabelle, puoi anche usare le istruzioni SQL UPDATE/SET e DROP TABLE per aggiornare righe in una tabella o eliminare del tutto una tabella. Nel seguente esempio aggiorneremo il secondo tweet nella tabella di prova Sample_Tweets_2.

update/set e drop table

Ora salutiamo la tabella di prova Sample_Tweets_2 ed eliminiamola dal file di database usando DROP TABLE:

drop table

Usare un database SQLite per gestire dati di Twitter

Ora che conosci le nozioni essenziali su come lavorare con un database SQLite e manipolare le tabelle, non ti resta che ricavare informazioni utili tramite query SQL. Per ora, ti mostrerò un paio di query relativamente semplici che ho eseguito durante il mio progetto di analisi dei social media su Twitter. Puoi considerarlo come un piccolo caso di studio per illustrare un'applicazione reale di un database SQLite.

Partiamo da qualcosa di semplice: trovare tutti gli screen name unici degli utenti Twitter nella tabella Sample_Tweets. Nel progetto in cui ho usato questi tweet, per me era essenziale trovare tutti gli utenti unici da cui avevo raccolto i tweet, poiché dovevo recuperare i loro follower per creare la edge list menzionata all'inizio di questo tutorial.

utenti unici nel database

26.860 utenti unici nel database. Un ottimo campione, considerando che gli argomenti che stavo monitorando erano localizzazione di siti web e traduzione. Vediamo i 20 utenti con il maggior numero di tweet nel campione usando una query SQL leggermente più complessa (retweet esclusi):

top 20 utenti

Guarda un po', il numero più alto di tweet appartiene a un bot! Tuttavia, come poi è emerso, l'ultimo della lista, UweMuegge, è piuttosto influente secondo le varie statistiche di rete che ho calcolato per il progetto. Non era però il più importante.

Infine, diamo un'occhiata ad alcuni dei tweet scritti da UweMuegge usando un'altra query SQL:

tweet di uwemuegge

Due argomenti principali, a quanto pare: annunci di lavoro nella traduzione e conferenze sulla traduzione. Ha senso che le persone del settore lo seguano su Twitter.

Un'altra cosa che salta all'occhio dallo screenshot sopra è che incappi in uno dei limiti dell'interfaccia a riga di comando di SQLite. Se hai campi di testo lunghi, non verranno visualizzati in modo gradevole e saranno difficili da leggere. Per questo, in casi del genere, è una buona idea usare DB Browser for SQLite.

Riepilogo

In questo tutorial hai imparato a creare database SQLite e a manipolare le tabelle usando dot command e istruzioni SQL. Inoltre, hai visto un piccolo caso di studio reale in cui ho usato un database SQLite per gestire dati provenienti da Twitter. È tanta roba, quindi complimenti!

Vale la pena notare che i database SQLite sono più utili se combinati con R e Python. Puoi manipolare i database SQLite tramite Python usando il modulo sqlite3 (se vuoi saperne di più, vedi il tutorial SQLite con Python) oppure con R usando RSQLite. Infatti, la edge list dei follower degli utenti di Twitter che ho menzionato prima è archiviata in un database SQLite che ho creato con RSQLIte aggiungendo a una tabella la rete di follower di ciascun utente. In questa fase del progetto, l'uso di SQLite è stato vitale, poiché interruzioni di corrente o aggiornamenti automatici di Windows possono spegnere forzatamente il computer e costringerti a ricominciare a raccogliere le reti di follower da zero. A causa dei limiti di velocità delle API di Twitter, questo può richiedere circa 4 settimane, quindi ripartire da 0 in questi casi è molto indesiderabile. Tuttavia, se salvi le reti di follower in un database SQLite man mano che procedi, anche se il computer si spegne improvvisamente, puoi riprendere la raccolta dall'utente successivo all'ultimo presente nel database, il che fa risparmiare un sacco di tempo.

Questo è solo un esempio di come i database SQLite possano essere uno strumento fantastico nell'arsenale di un data scientist. Ti invito ad approfondire i database SQLite e SQL oltre quanto trattato in questo tutorial. Continua a imparare: il cielo è il limite!

Se vuoi imparare di più su SQL, segui il corso di DataCamp Introduzione ai database relazionali in SQL.

Argomenti
SQL
Data Science
Analisi dei dati

Approfondisci SQL

Corso

Manipolazione dei dati in SQL

4 ore
337.9K
Padroneggia query SQL complesse per rispondere a varie domande di Data Science e preparare dataset solidi da analizzare in PostgreSQL.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

Mostra AltroMostra Altro