SQLite - Comandi
Questo capitolo ti guiderà attraverso i comandi semplici e utili usati dai programmatori SQLite. Questi comandi sono chiamati comandi punto SQLite e l'eccezione a questi comandi è che non devono essere terminati da un punto e virgola (;).
Cominciamo con la digitazione di un semplice file sqlite3 comando al prompt dei comandi che ti fornirà il prompt dei comandi SQLite in cui emetterai vari comandi SQLite.
$sqlite3
SQLite version 3.3.6
Enter ".help" for instructions
sqlite>
Per un elenco dei comandi punto disponibili, puoi inserire ".help" in qualsiasi momento. Ad esempio:
sqlite>.help
Il comando precedente mostrerà un elenco di vari importanti comandi punto SQLite, che sono elencati nella tabella seguente.
| Sr.No. | Comando e descrizione |
|---|---|
| 1 | .backup ?DB? FILE Backup DB (predefinito "principale") su FILE |
| 2 | .bail ON|OFF Fermati dopo aver riscontrato un errore. Default OFF |
| 3 | .databases Elenca i nomi e i file dei database allegati |
| 4 | .dump ?TABLE? Scarica il database in un formato di testo SQL. Se è specificato TABLE, esegue il dump solo delle tabelle corrispondenti al modello LIKE TABLE |
| 5 | .echo ON|OFF Attiva o disattiva l'eco dei comandi |
| 6 | .exit Esci dal prompt di SQLite |
| 7 | .explain ON|OFF Attiva o disattiva la modalità di output adatta per EXPLAIN. Senza argomenti, attiva EXPLAIN |
| 8 | .header(s) ON|OFF Attiva o disattiva la visualizzazione delle intestazioni |
| 9 | .help Mostra questo messaggio |
| 10 | .import FILE TABLE Importa dati da FILE a TABLE |
| 11 | .indices ?TABLE? Mostra i nomi di tutti gli indici. Se è specificato TABLE, mostra solo gli indici per le tabelle che corrispondono al modello LIKE TABLE |
| 12 | .load FILE ?ENTRY? Carica una libreria di estensioni |
| 13 | .log FILE|off Attiva o disattiva la registrazione. FILE può essere stderr / stdout |
| 14 | .mode MODE Imposta la modalità di output in cui MODE è uno di -
|
| 15 | .nullvalue STRING Stampa STRING al posto dei valori NULL |
| 16 | .output FILENAME Invia output a FILENAME |
| 17 | .output stdout Invia output allo schermo |
| 18 | .print STRING... Stampa STRING letterale |
| 19 | .prompt MAIN CONTINUE Sostituisci i messaggi standard |
| 20 | .quit Esci dal prompt di SQLite |
| 21 | .read FILENAME Esegui SQL in FILENAME |
| 22 | .schema ?TABLE? Mostra le istruzioni CREATE. Se è specificato TABLE, mostra solo le tabelle che corrispondono al pattern LIKE TABLE |
| 23 | .separator STRING Cambia separatore utilizzato dalla modalità di output e .import |
| 24 | .show Mostra i valori correnti per varie impostazioni |
| 25 | .stats ON|OFF Attiva o disattiva le statistiche |
| 26 | .tables ?PATTERN? Elenca i nomi delle tabelle che corrispondono a un modello LIKE |
| 27 | .timeout MS Prova ad aprire tabelle bloccate per MS millisecondi |
| 28 | .width NUM NUM Imposta le larghezze delle colonne per la modalità "colonna" |
| 29 | .timer ON|OFF Attiva o disattiva la misurazione del timer della CPU |
Proviamo .show comando per visualizzare l'impostazione predefinita per il prompt dei comandi SQLite.
sqlite>.show
echo: off
explain: off
headers: off
mode: column
nullvalue: ""
output: stdout
separator: "|"
width:
sqlite>
Assicurati che non ci sia spazio tra sqlite> prompt e dot command, altrimenti non funzionerà.
Formattazione dell'output
È possibile utilizzare la seguente sequenza di comandi punto per formattare l'output.
sqlite>.header on
sqlite>.mode column
sqlite>.timer on
sqlite>
L'impostazione di cui sopra produrrà l'output nel seguente formato.
ID NAME AGE ADDRESS SALARY
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norway 20000.0
4 Mark 25 Rich-Mond 65000.0
5 David 27 Texas 85000.0
6 Kim 22 South-Hall 45000.0
7 James 24 Houston 10000.0
CPU Time: user 0.000000 sys 0.000000
La tabella sqlite_master
La tabella master contiene le informazioni chiave sulle tabelle del database e viene chiamata sqlite_master. Puoi vedere il suo schema come segue:
sqlite>.schema sqlite_master
Questo produrrà il seguente risultato.
CREATE TABLE sqlite_master (
type text,
name text,
tbl_name text,
rootpage integer,
sql text
); 