English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Sintassi di SQLite

Dopo SQLite c'è un insieme di regole e convenzioni uniche chiamate sintassi. Questo capitolo elenca tutte le sintassi di base di SQLite.

Distinzione tra maiuscole e minuscole

Un punto da notare è che SQLite non distingue tra maiuscole e minuscole, quindi le clausole GLOB e glob hanno lo stesso significato negli istruzioni SQLite.

Commenti

I commenti SQLite sono commenti aggiuntivi che possono essere aggiunti al codice SQLite per migliorarne la leggibilità e possono apparire ovunque; possono apparire spazi, inclusi all'interno di espressioni e tra istruzioni SQL, ma non possono essere annidati.

I commenti SQL iniziano con due caratteri di trattino consecutivi (ASCII 0x2d) e si estendono fino a un carattere di nuova riga (ASCII 0x0a) o fino alla fine dell'input, a seconda di chi arriva prima.

Puoi anche usare i commenti di stile C, che iniziano con "/*" e si estendono fino al paio di caratteri "*/" successivo, inclusi i "*/", o fino alla fine dell'input (a seconda di chi arriva prima). I commenti di stile C possono superare più righe.

sqlite> .help -- Questo è un commento su una singola riga

I comandi SQLite

Tutte le istruzioni SQLite iniziano con parole chiave come SELECT, INSERT, UPDATE, DELETE, ALTER, DROP, ecc., e tutte le istruzioni si concludono con un punto e virgola (;).

SQLite ANALYZE espressione

ANALYZE;
or
ANALYZE database_name;
or
ANALYZE database_name.table_name;

SQLite AND / OR clause

SELEZIONA colonna1, colonna2....colonnaN;
DAL nome_tabella;
WHERE CONDITION-1 {AND|OR} CONDITION-2;

SQLite ALTER TABLE espressione

ALTER TABLE table_name ADD COLUMN column_def...;

SQLite ALTER TABLE espressione (ristrette)

ALTER TABLE table_name RENAME TO new_table_name;

SQLite ATTACH DATABASE espressione

ATTACH DATABASE 'DatabaseName' As 'Alias-Name';

SQLite BEGIN TRANSACTION espressione

BEGIN;
or
BEGIN EXCLUSIVE TRANSACTION;

SQLite BETWEEN clause

SELEZIONA colonna1, colonna2....colonnaN;
DAL nome_tabella;
WHERE column_name BETWEEN val-1 AND val-2;

SQLite COMMIT espressione

COMMIT;

SQLite CREATE INDEX espressione

CREATE INDEX index_name
ON table_name (column_name COLLATE NOCASE);

SQLite CREATE UNIQUE INDEX espressione

CREATE UNIQUE INDEX index_name
ON table_name (column1, column2,...columnN);

SQLite CREATE TABLE espressione

CREATE TABLE table_name (
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY (one or more columns));

SQLite CREATE TRIGGER espressione

CREATE TRIGGER database_name.trigger_name 
BEFORE INSERT ON table_name FOR EACH ROW
INIZIO 
   stmt1; 
   stmt2;
   ....
FINE;

EPLAIN SQLite CREATE VIEW statement

CREATE VIEW nome_database.view_name AS
statement SELECT....;

EPLAIN SQLite CREATE VIRTUAL TABLE statement

CREATE VIRTUAL TABLE nome_database.table_name USING weblog(access.log);
or
CREATE VIRTUAL TABLE nome_database.table_name USING fts3( );

EPLAIN SQLite COMMIT TRANSACTION statement

COMMIT;

Frase COUNT SQLite

SELECT COUNT(nome_colonna) FROM nome_tabella
CONDIZIONE WHERE;

EPLAIN SQLite DELETE statement

DELETE FROM nome_tabella
WHERE {CONDIZIONE};

EPLAIN SQLite DETACH DATABASE statement

DETACH DATABASE 'Nome-Alias';

Frase DISTINCT SQLite

SELECT DISTINCT colonna1, colonna2....colonnaN
FROM table_name;

EPLAIN SQLite DROP INDEX statement

DROP INDEX nome_database.index_name;

EPLAIN SQLite DROP TABLE statement

DROP TABLE nome_database.table_name;

EPLAIN SQLite DROP VIEW statement

DROP INDEX nome_database.view_name;

EPLAIN SQLite DROP TRIGGER statement

DROP INDEX nome_database.trigger_name;

Frase EXISTS SQLite

SELEZIONA colonna1, colonna2....colonnaN;
DAL nome_tabella;
WHERE nome_colonna EXISTS (SELECT * FROM table_name);

EPLAIN SQLite statement

EPLAIN statement INSERT...;
or 
EPLAIN PIANO DI QUERY SELECT statement...;

Frase GLOB

SELEZIONA colonna1, colonna2....colonnaN;
DAL nome_tabella;
WHERE column_name GLOB { PATTERN };

Frase GROUP BY di SQLite

SELECT SUM(column_name) FROM table_name
WHERE CONDITION
GROUP BY column_name;

SQLite HAVING clause

SELECT SUM(column_name) FROM table_name
WHERE CONDITION
GROUP BY column_name
HAVING (arithematic function condition);

SQLite INSERT INTO sentence

INSERT INTO table_name( column1, column2....columnN)
VALUES ( value1, value2....valueN);

SQLite IN clause

SELEZIONA colonna1, colonna2....colonnaN;
DAL nome_tabella;
WHERE column_name IN (val-1, val-2,...val-N);

SQLite LIKE clause

SELEZIONA colonna1, colonna2....colonnaN;
DAL nome_tabella;
WHERE column_name LIKE { PATTERN };

SQLite NOT IN clause

SELEZIONA colonna1, colonna2....colonnaN;
DAL nome_tabella;
WHERE column_name NOT IN (val-1, val-2,...val-N);

Frase ORDER BY di SQLite

SELEZIONA colonna1, colonna2....colonnaN;
DAL nome_tabella;
WHERE CONDITION
ORDER BY column_name {ASC|DESC};

SQLite PRAGMA sentence

PRAGMA pragma_name;
For example:
PRAGMA page_size;
PRAGMA cache_size = 1024;
PRAGMA table_info(table_name);

SQLite RELEASE SAVEPOINT sentence

RELEASE savepoint_name;

SQLite REINDEX sentence

REINDEX collation_name;
REINDEX database_name.index_name;
REINDEX database_name.table_name;

SQLite ROLLBACK sentence

ROLLBACK;
or
ROLLBACK TO SAVEPOINT savepoint_name;

SQLite SAVEPOINT sentence

SAVEPOINT savepoint_name;

SQLite SELECT sentence

SELEZIONA colonna1, colonna2....colonnaN;
FROM table_name;

SQLite UPDATE sentence

AGGIORNA nome_tabella
IMPOSTA colonna1 = value1, colonna2 = value2....colonnaN = valueN;
[ WHERE CONDITION ];

Frase VACUUM di SQLite

VACUUM;

Frase WHERE di SQLite

SELEZIONA colonna1, colonna2....colonnaN;
DAL nome_tabella;
CONDIZIONE WHERE;