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

Sintaxe do SQLite

O SQLite é um conjunto de regras e diretrizes únicas chamadas sintaxe. Este capítulo lista todas as sintaxes básicas do SQLite.

Diferenciação de maiúsculas e minúsculas

Um ponto importante a notar é que o SQLite não distingue entre maiúsculas e minúsculas, ou seja, as cláusulas GLOB e glob têm o mesmo significado em instruções SQLite.

Comentários

Comentários SQLite são comentários adicionais que podem ser adicionados ao código SQLite para melhorar sua legibilidade e podem aparecer em qualquer lugar; podem haver espaços em branco, incluindo dentro de expressões e entre outras instruções SQL, mas não podem ser aninhados.

Comentários SQL começam com dois "-Caractere " (ASCII 0x2d) começa e se estende até a próxima quebra de linha (ASCII 0x0a) ou até o fim da entrada, o que vier primeiro.

Você também pode usar comentários do estilo C, que começam com " / *Começa com " e se estende até o próximo " * /Caracteres de parênteses e incluem o próximo " * /Caracteres de parênteses, ou até o fim da entrada (o que vier primeiro). Comentários do estilo C podem span várias linhas.

sqlite> .help -- This is a single line comment

SQLite sentences

All SQLite sentences start with SELECT, INSERT, UPDATE, DELETE, ALTER, DROP, etc., and all sentences end with a semicolon (;).

SQLite ANALYZE sentence

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

SQLite AND / OR clause

SELECT coluna1, coluna2....colunaN
FROM nome_da_tabela
WHERE CONDITION-1 {AND|OR} CONDITION-2;

SQLite ALTER TABLE sentence

ALTER TABLE table_name ADD COLUMN column_def...;

SQLite ALTER TABLE sentence (rename)

ALTER TABLE table_name RENAME TO new_table_name;

SQLite ATTACH DATABASE sentence

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

SQLite BEGIN TRANSACTION sentence

BEGIN;
or
BEGIN EXCLUSIVE TRANSACTION;

SQLite BETWEEN clause

SELECT coluna1, coluna2....colunaN
FROM nome_da_tabela
WHERE column_name BETWEEN val-1 AND val-2;

SQLite COMMIT sentence

COMMIT;

SQLite CREATE INDEX sentence

CREATE INDEX index_name
ON table_name ( column_name COLLATE NOCASE );

SQLite CREATE UNIQUE INDEX sentence

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

SQLite CREATE TABLE sentence

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

SQLite CREATE TRIGGER sentence

CREATE TRIGGER database_name.trigger_name 
BEFORE INSERT ON table_name FOR EACH ROW
BEGIN 
   stmt1; 
   stmt2;
   ....
END;

Sentença CREATE VIEW do SQLite

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

Sentença CREATE VIRTUAL TABLE do SQLite

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

Sentença COMMIT TRANSACTION do SQLite

COMMIT;

Conjunto COUNT do SQLite

SELECT COUNT(nome_da_coluna) FROM table_name
ONDE CONDIÇÃO;

Sentença DELETE do SQLite

DELETE FROM table_name
WHERE {CONDIÇÃO};

Sentença DETACH DATABASE do SQLite

DETACH DATABASE 'Alias-Nome';

Conjunto DISTINCT do SQLite

SELECT DISTINCT coluna1, coluna2....colunaN
FROM table_name;

Sentença DROP INDEX do SQLite

DROP INDEX nome_da_base.index_name;

Sentença DROP TABLE do SQLite

DROP TABLE nome_da_base.table_name;

Sentença DROP VIEW do SQLite

DROP INDEX nome_da_base.view_name;

Sentença DROP TRIGGER do SQLite

DROP INDEX nome_da_base.trigger_name;

Conjunto EXISTS do SQLite

SELECT coluna1, coluna2....colunaN
FROM nome_da_tabela
WHERE nome_da_coluna EXISTE (SELECT * FROM table_name );

Sentença EXPLAIN do SQLite

EXPLAIN statement de INSERT...;
or 
EXPLAIN PLANO DE QUERY SELECT statement...;

SQLite GLOB clause

SELECT coluna1, coluna2....colunaN
FROM nome_da_tabela
WHERE column_name GLOB { PATTERN };

Cláusula GROUP BY no 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 statement

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

SQLite IN clause

SELECT coluna1, coluna2....colunaN
FROM nome_da_tabela
WHERE column_name IN (val-1, val-2,...val-N);

SQLite LIKE clause

SELECT coluna1, coluna2....colunaN
FROM nome_da_tabela
WHERE column_name LIKE { PATTERN };

SQLite NOT IN clause

SELECT coluna1, coluna2....colunaN
FROM nome_da_tabela
WHERE column_name NOT IN (val-1, val-2,...val-N);

Cláusula ORDER BY no SQLite

SELECT coluna1, coluna2....colunaN
FROM nome_da_tabela
WHERE CONDITION
ORDER BY column_name {ASC|DESC};

SQLite PRAGMA statement

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

SQLite RELEASE SAVEPOINT statement

RELEASE savepoint_name;

SQLite REINDEX statement

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

SQLite ROLLBACK statement

ROLLBACK;
or
ROLLBACK TO SAVEPOINT savepoint_name;

SQLite SAVEPOINT statement

SAVEPOINT savepoint_name;

SQLite SELECT statement

SELECT coluna1, coluna2....colunaN
FROM table_name;

Sentença UPDATE do SQLite

UPDATE nome_da_tabela
SET coluna1 = valor1, coluna2 = valor2....colunaN=valorN
[ ONDE CONDIÇÃO ];

Sentença VACUUM do SQLite

VACUUM;

Cláusula WHERE do SQLite

SELECT coluna1, coluna2....colunaN
FROM nome_da_tabela
ONDE CONDIÇÃO;