Come utilizzare DB Browser per SQLite su Linux

95

Fatmawati Achmad Zaenuri / Shutterstock

DB Browser per SQLite consente di visualizzare e modificare i database SQLite su Linux. Puoi progettare, creare e modificare questi file di database e dare un'occhiata al funzionamento interno di altre applicazioni. Ecco come utilizzare questa GUI di SQLite.

Il progetto di database SQLite

La libreria e gli strumenti di database SQLite sono un progetto di database SQL (Structured Query Language) open source di grande successo. Così di successo, infatti, può giustamente definirsi il motore di database più diffuso al mondo.

Dalla sua versione iniziale nel 2000, SQLite ha registrato un assorbimento assolutamente sbalorditivo. È presente in ogni iPhone e telefono Android e in computer Windows 10 o Mac. È presente anche in tutti i browser Internet, inclusi Chrome, Firefox e Safari, oltre a innumerevoli altre applicazioni.

L'incredibile portata del database SQLite è dovuta alla sua architettura. È una libreria veloce e leggera che è incorporata (o collegata, nel linguaggio degli sviluppatori) in altre applicazioni. Il motore di database diventa parte integrante del prodotto. Ciò significa che non è necessario fornire un server di database SQL esterno, come MySQL, MariaDB o Microsoft SQL Server.

SQLite ha anche uno strumento a riga di comando per manipolare i database, ma è la libreria che lo ha reso un trionfo. Avere un motore di database capace e autonomo nascosto all'interno della tua applicazione elimina molti problemi. Semplifica le routine di installazione dell'applicazione e riduce i requisiti hardware minimi per l'applicazione.

Inoltre, poiché SQLite utilizza un unico file multipiattaforma per le tabelle, gli indici e gli schemi del database, l'intero database può essere spostato su un altro computer. Puoi persino spostarlo su una macchina che esegue un sistema operativo diverso copiando un file.

In effetti, il formato del file di database di SQLite è così ben considerato, è uno dei pochi consigliati dalla Library of Congress per l'archiviazione dei dati a lungo termine.

Poiché SQLite è una libreria per sviluppatori, tuttavia, non esiste un front-end per esso, il che significa che non ha un'interfaccia utente grafica. È l'applicazione che utilizza la libreria che fornisce l'interfaccia utente. L'utilità della riga di comando può essere eseguita in modalità interattiva, ma non è ancora una GUI.

DB Browser for SQLite (DB4S) si adatta perfettamente al conto. È uno strumento visivo sviluppato da un altro progetto open source per consentire la creazione e la manipolazione di database SQLite dall'interno di una GUI.

DB Browser per SQLite

DB Browser per SQLite esiste (in un'incarnazione o nell'altra) dal 2003 e ha subito diversi cambiamenti di nome. In precedenza, si chiamava SQLite Browser, ma ciò causava confusione. La gente pensava che fosse stato scritto dal team SQLite e quindi inoltravano richieste di funzionalità e richieste di supporto su DB4S a SQLite.

Quindi, SQLite Browser è stato rinominato DB Browser per SQLite. Vedrai ancora riferimenti al vecchio nome qua e là. In effetti, il sito Web del progetto utilizza ancora "sqlitebrowser" come dominio e il vecchio nome viene utilizzato anche durante l'installazione di DB4S.

Con DB4S puoi:

  • Crea database.
  • Importa ed esporta schemi di database, tabelle e dati in formato SQL.
  • Importa ed esporta tabelle e dati in formato CSV.
  • Crea, modifica ed elimina tabelle e indici.
  • Aggiungi, modifica ed elimina record.
  • Sfoglia e cerca i record del database.
  • Modifica ed esegui comandi SQL. Puoi assicurarti che il comando faccia quello che pensi prima di codificare un po 'di SQL nella tua applicazione.

Installazione di DB Browser per SQLite

Per installare DB4S su Ubuntu, utilizzare il seguente comando (di nuovo, notare che l'installazione utilizza ancora il vecchio nome):

sudo apt-get install sqlitebrowser

Su Fedora, digiti:

sudo dnf installa sqlitebrowser

Su Manjaro, usiamo pacman:

sudo pacman -Sy sqlitebrowser

Importazione di un database da un file SQL

Quando DB4S si avvia, non ha un database caricato al suo interno. Vedremo due modi per importare sia i dati che le definizioni delle tabelle di database, nonché come creare il tuo database.

A volte, potresti ricevere o inviare un file di dump del database in formato SQL. Contiene le istruzioni necessarie per ricreare un database e inserire i suoi dati in un database.

Un altro formato comune utilizzato per importare definizioni e dati di tabella è il formato CSV (valori separati da virgole). È possibile utilizzare un sito di generazione dati, ad esempio Dati di test del database, per generare dati fittizi a scopo pratico. È quindi possibile esportare i dati come SQL o CSV.

Di seguito è riportato un file SQL che abbiamo creato su quel sito. Dopo che è stato esportato, lo abbiamo modificato e abbiamo aggiunto una riga all'inizio del file, necessaria per SQLite:

INIZIARE LA TRANSAZIONE;

Abbiamo quindi salvato il file. In DB4S, facciamo clic su File> Importa> Database da file SQL.

Si apre una finestra di dialogo per la selezione dei file in modo da poter scegliere il nostro file SQL. Nel nostro esempio, si chiama "database_dump.sql" e si trova nella radice della nostra home directory.

Con il file selezionato, facciamo clic su "Apri" e si apre una finestra di dialogo per il salvataggio del file. Ora devi nominare il tuo nuovo database e decidere dove salvarlo. Abbiamo chiamato il nostro "geekbase.sqlite3" e lo stiamo salvando nella nostra home directory.

Fai clic su "Salva" quando sei pronto per procedere. Abbiamo identificato il nostro file SQL di origine e denominato il nostro nuovo database, quindi il processo di importazione può ora iniziare. Al termine, vedrai la finestra di dialogo di notifica di seguito.

Poiché abbiamo aggiunto tabelle e dati al database, ci viene chiesto di salvare le modifiche, quindi facciamo clic su "Salva" per farlo.

La finestra principale di DB4S ora mostrerà la struttura del nostro database.

Sono state create due tabelle, anche se nel file SQL c'era solo una definizione per una. Questo perché il campo "id" è stato definito come un campo a incremento automatico. Verrà aggiunto automaticamente ogni volta che un nuovo record viene aggiunto al database. SQLite crea una tabella per tenere traccia dei campi con incremento automatico.

Fare clic sulla scheda "Sfoglia dati" per visualizzare i record appena aggiunti.

Ovviamente, il potere di un database risiede nella sua capacità di cercare ed estrarre record. Con un database abilitato per SQL, utilizziamo il linguaggio SQL per farlo. Per iniziare, la scheda "Esegui SQL".

Abbiamo aggiunto il seguente comando SQL:

SELEZIONA * DA account_details WHERE last_name LIKE "% ll%" ORDER BY state

Questo cercherà le persone con una doppia "l" nel loro cognome ei risultati verranno ordinati per stato. Fare clic sulla freccia blu (sembra un pulsante "Riproduci") per eseguire il comando SQL. I risultati vengono visualizzati nel riquadro inferiore.

Abbiamo quattro record che contengono la doppia "l" nel cognome e sono ordinati alfabeticamente per stato, dall'Arizona al Wisconsin.

Importazione di una tabella di database da un file CSV

Possiamo anche importare tabelle da file CSV adatti. Il modo più conveniente per farlo è avere i nomi dei campi della tabella nel file CSV come prima riga di testo. Di seguito è riportata una breve sezione di un file CSV.

La prima riga contiene i nomi dei campi: first_name, last_name, created, email, state e ID. Le altre righe contengono i valori dei dati per ogni record che verrà aggiunto alla tabella. Questi sono gli stessi dati di prima; solo il formato del file è cambiato.

Quando importi i dati CSV, devi creare un database vuoto in modo da avere qualcosa in cui importarlo. A tal fine, fare clic su "Nuovo database" nella barra degli strumenti.

Si apre una finestra di dialogo per il salvataggio del file. Assegna un nome al nuovo database e decidi dove salvarlo. Chiameremo il nostro "howtogeek.sqlite3" e lo salveremo nella nostra home directory.

Quando viene visualizzata la finestra di dialogo "Modifica definizione tabella", fai clic su "Annulla". Di nuovo nella finestra principale di DB4S, fare clic su File> Importa> Tabella da file CSV. Si apre una finestra di dialogo per la selezione dei file in cui è possibile scegliere il file CSV.

Nel nostro esempio, si chiama "users.csv" e si trova nella radice della nostra home directory. Fare clic su "Apri" e viene visualizzata una finestra di dialogo di anteprima per mostrare come DB4S interpreterà i dati CSV.

Il nome del file viene utilizzato come nome della tabella. Puoi modificarlo se lo desideri, ma assicurati di selezionare la casella di controllo accanto a "Nomi colonne in prima riga".

Fai clic su "OK" (è fuori dallo schermo nell'immagine sopra). I dati vengono importati e, se tutto va bene, dovresti vedere la finestra di dialogo "Import Completed"; fare clic su "OK".

Fai clic su "Sfoglia dati" e vedrai i dati importati.

Tuttavia, abbiamo ancora una piccola modifica da apportare. Fare clic sulla scheda "Struttura database", selezionare il nome della tabella, quindi fare clic su "Modifica tabella" nella barra degli strumenti.

Nella finestra di dialogo "Modifica definizione tabella", seleziona la casella di controllo "AI" (incremento automatico) nel campo "id".

La casella di controllo "PK" (chiave primaria) viene selezionata automaticamente; fare clic su "OK". Questo imposta il campo "id" per l'incremento automatico. Ora possiamo aggiungere un nuovo record al database per verificare che funzioni.

Fai clic sulla scheda "Esegui SQL", quindi digita il seguente codice SQL nel riquadro superiore (tieni presente che stiamo fornendo valori per tutti i campi eccetto "id"):

INSERISCI IN "utenti"
("first_name", "last_name", "created", "email", "state")
VALORI ("Dave", "McKay", "12/08/2020", "dave@llk.com", "Idaho");

Fare clic sulla freccia blu (che sembra un pulsante Riproduci) per eseguire il comando SQL. Fare clic su "Sfoglia dati" e scorrere fino in fondo. Dovresti vedere il record appena aggiunto con un campo "id" fornito automaticamente contenente un valore superiore di uno al valore "id" più alto precedente.

Creazione manuale di un database

Se non hai un file SQL o CVS da importare, dovrai creare il database manualmente. Per iniziare, fai clic su "Nuovo database" e viene visualizzata una finestra di dialogo per il salvataggio dei file. Digita il nome del tuo nuovo database e dove vuoi salvarlo.

Abbiamo chiamato il nostro "geeksrock.sqlite3" e lo stiamo salvando nella directory "Documenti". Dopo aver assegnato un nome al database e aver raggiunto la posizione in cui desideri salvarlo, fai clic su "Salva".

Quando ti viene chiesto di confermare le tue scelte, fai di nuovo clic su "Salva".

Viene visualizzata la finestra di dialogo "Modifica definizione tabella". Assegna un nome alla nuova tabella (abbiamo chiamato la nostra "aquile"), quindi fai clic su "Aggiungi campo". È ora possibile digitare un nome per il campo e selezionare il tipo di informazioni che conterrà dal menu a discesa "Tipo".

Abbiamo aggiunto un campo di testo per contenere il nome dell'aquila e un campo numerico reale (in virgola mobile) per contenere l'apertura alare.

Le caselle di controllo e le altre opzioni accanto a ciascun campo consentono di aggiungere i seguenti comportamenti:

  • NN (non nullo): Quando questa opzione è impostata, il campo non può essere lasciato vuoto. Se provi ad aggiungere un record senza fornire un valore per questo campo, verrà rifiutato.
  • PK (Chiave primaria): Un campo (o gruppo di campi) che fornisce un identificatore univoco per i record nella tabella. Questo potrebbe essere un semplice valore numerico, come i campi interi con incremento automatico che abbiamo trattato sopra. In una tabella di account utente, tuttavia, potrebbe essere un nome utente. Può esserci solo una chiave primaria in una tabella.
  • AI (Incremento automatico): I campi numerici possono essere compilati automaticamente, con il successivo valore non utilizzato più alto. Lo abbiamo usato nel campo "id" nell'esempio che abbiamo trattato sopra.
  • U (unico): Questo campo in ogni record deve contenere un valore univoco, il che significa che non possono esserci duplicati in questo campo nella tabella.
  • Predefinito: Verrà fornito un valore predefinito se viene aggiunto un record che non ha alcun valore in questo campo.
  • Dai un'occhiata: Un campo può avere un controllo su di esso quando viene aggiunto un record. Ad esempio, potresti verificare che il valore nel campo di un numero di telefono contenga almeno 10 caratteri.
  • Fascicolazione: Sqlite può utilizzare diversi metodi di confronto delle stringhe. L'impostazione predefinita è BINARIO. Altre opzioni sono NOCASE, che non fa distinzione tra maiuscole e minuscole, e RTRIM, che ignora gli spazi vuoti finali. Nella maggior parte dei casi, puoi lasciare questo valore predefinito.
  • Chiave esterna: Un campo o un gruppo di campi in un record che deve corrispondere a una chiave in un'altra tabella. Ad esempio, in un database di strumenti di officina, potresti avere una tabella di singoli strumenti e un'altra tabella di categorie di strumenti. Se le categorie di strumenti sono "martello", "chiave inglese" e "cacciavite", non puoi aggiungere un record di tipo "scalpello".

Fare clic su "OK" dopo aver aggiunto i campi desiderati. Dopo aver creato il database e aggiunta la prima tabella, puoi aggiungere alcuni record.

Nella scheda "Esegui SQL", abbiamo utilizzato più volte l'istruzione SQL INSERT per aggiungere alcuni record alla tabella.

Possiamo anche utilizzare la scheda "Sfoglia dati" per vedere i nostri nuovi record.

Se si preferisce aggiungere nuovi record tramite l'interfaccia utente, fare clic su "Nuovo record" sulla barra degli strumenti. È quindi possibile inserire i valori per il nuovo record senza comprendere SQL.

Database di altre applicazioni

È inoltre possibile utilizzare DB4S per visualizzare i database SQLite che appartengono ad altre applicazioni. L'esame della struttura o dei contenuti di altri database può essere istruttivo (o semplicemente interessante). Tuttavia, è importante non apportare modifiche ai database di proprietà di altre applicazioni, altrimenti potresti influire negativamente sul funzionamento di tale applicazione.

Diamo un'occhiata a uno dei database SQLite che Firefox crea e gestisce. Fare clic su "Apri database" sulla barra degli strumenti e verrà visualizzata una finestra di dialogo di apertura dei file. Firefox conserva i suoi file in una directory chiamata "firefox", che si trova all'interno di una directory nascosta chiamata ".mozilla" che si trova nella tua home directory.

Sulla nostra macchina di prova, abbiamo trovato i database SQLite di Firefox in questa posizione: "home / dave / .mozilla / firefox / vpvuy438.default-release"; il tuo sarà in una posizione simile.

Stiamo per aprire il database "cookies.sqlite", quindi evidenziamo il file, quindi fai clic su "Apri". Con il database aperto, è possibile esaminarne la struttura della tabella, le definizioni dei campi e i dati.

Qui possiamo vedere una varietà di cookie di Google e YouTube.

L'esportazione fornisce approfondimenti

Anche l'esportazione di un database (facendo clic su File> Esporta> Database in file SQL) è utile. Osservando il dump SQL di un database, è possibile vedere l'intero schema del database reso nelle istruzioni SQL.