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 -

  • csv - Valori separati da virgole

  • column - Colonne allineate a sinistra.

  • html - Codice HTML <table>

  • insert - Istruzioni di inserimento SQL per TABLE

  • line - Un valore per riga

  • list - Valori delimitati da una stringa .separator

  • tabs - Valori separati da tabulazione

  • tcl - Elementi dell'elenco TCL

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
);