SQLite Sintaxis

SQLite sigue un conjunto único de reglas y directrices llamado sintaxis. Este tutorial enumera toda la sintaxis básica de SQLite y le ofrece una introducción rápida a SQLite.

Sensibilidad a mayúsculas y minúsculas

Hay un punto importante que vale la pena señalar: SQLite esinsensible a mayúsculas y minúsculas, pero algunos comandos son sensibles a mayúsculas y minúsculas, por ejemploGLOByglobtienen diferentes significados en las sentencias de SQLite.

Comentarios

Los comentarios de SQLite son anotaciones adicionales que se pueden agregar al código SQLite para aumentar su legibilidad. Pueden aparecer en cualquier espacio en blanco, incluso dentro de expresiones y en medio de otras sentencias SQL, pero no pueden anidarse.

Los comentarios SQL comienzan con dos caracteres "-" consecutivos (ASCII 0x2d) y se extienden hasta el siguiente carácter de nueva línea (ASCII 0x0a) o hasta el final de la entrada, lo que ocurra primero.

También puede utilizar comentarios de estilo C, que comienzan con "/*" y se extienden hasta el siguiente par de caracteres "*/" o hasta el final de la entrada, lo que ocurra primero. Los comentarios de SQLite pueden abarcar varias líneas.

sqlite>.help -- 这是一个简单的注释

Sentencias SQLite

Todas las sentencias de SQLite pueden comenzar con cualquier palabra clave, como SELECT, INSERT, UPDATE, DELETE, ALTER, DROP, etc. Todas las sentencias terminan con un punto y coma;.

Sentencia SQLite ANALYZE:

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

Cláusula SQLite AND/OR:

SELECT column1, column2....columnN
FROM   table_name
WHERE  CONDITION-1 {AND|OR} CONDITION-2;

Sentencia SQLite ALTER TABLE:

ALTER TABLE table_name ADD COLUMN column_def...;

Sentencia SQLite ALTER TABLE (Rename):

ALTER TABLE table_name RENAME TO new_table_name;

Sentencia SQLite ATTACH DATABASE:

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

Sentencia SQLite BEGIN TRANSACTION:

BEGIN;
or
BEGIN EXCLUSIVE TRANSACTION;

Cláusula SQLite BETWEEN:

SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name BETWEEN val-1 AND val-2;

Sentencia SQLite COMMIT:

COMMIT;

Sentencia SQLite CREATE INDEX:

CREATE INDEX index_name
ON table_name ( column_name COLLATE NOCASE );

Sentencia SQLite CREATE UNIQUE INDEX:

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

Sentencia SQLite CREATE TABLE:

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

Sentencia SQLite CREATE TRIGGER:

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

Sentencia SQLite CREATE VIEW:

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

Sentencia SQLite CREATE VIRTUAL TABLE:

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

Sentencia SQLite COMMIT TRANSACTION:

COMMIT;

Cláusula SQLite COUNT:

SELECT COUNT(column_name)
FROM   table_name
WHERE  CONDITION;

Sentencia SQLite DELETE:

DELETE FROM table_name
WHERE  {CONDITION};

Sentencia SQLite DETACH DATABASE:

DETACH DATABASE 'Alias-Name';

Cláusula SQLite DISTINCT:

SELECT DISTINCT column1, column2....columnN
FROM   table_name;

Sentencia SQLite DROP INDEX:

DROP INDEX database_name.index_name;

Sentencia SQLite DROP TABLE:

DROP TABLE database_name.table_name;

Sentencia SQLite DROP VIEW:

DROP VIEW view_name;

Sentencia SQLite DROP TRIGGER:

DROP TRIGGER trigger_name

Cláusula SQLite EXISTS:

SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name EXISTS (SELECT * FROM   table_name );

Sentencia SQLite EXPLAIN:

EXPLAIN INSERT statement...;
or 
EXPLAIN QUERY PLAN SELECT statement...;

Cláusula SQLite GLOB:

SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name GLOB { PATTERN };

Cláusula SQLite GROUP BY:

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

Cláusula SQLite HAVING:

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

Sentencia SQLite INSERT INTO:

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

Cláusula SQLite IN:

SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name IN (val-1, val-2,...val-N);

Cláusula SQLite Like:

SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name LIKE { PATTERN };

Cláusula SQLite NOT IN:

SELECT column1, column2....columnN
FROM   table_name
WHERE  column_name NOT IN (val-1, val-2,...val-N);

Cláusula SQLite ORDER BY:

SELECT column1, column2....columnN
FROM   table_name
WHERE  CONDITION
ORDER BY column_name {ASC|DESC};

Sentencia SQLite PRAGMA:

PRAGMA pragma_name;

For example:

PRAGMA page_size;
PRAGMA cache_size = 1024;
PRAGMA table_info(table_name);

Sentencia SQLite RELEASE SAVEPOINT:

RELEASE savepoint_name;

Sentencia SQLite REINDEX:

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

Sentencia SQLite ROLLBACK:

ROLLBACK;
or
ROLLBACK TO SAVEPOINT savepoint_name;

Sentencia SQLite SAVEPOINT:

SAVEPOINT savepoint_name;

Sentencia SQLite SELECT:

SELECT column1, column2....columnN
FROM   table_name;

Sentencia SQLite UPDATE:

UPDATE table_name
SET column1 = value1, column2 = value2....columnN=valueN
[ WHERE  CONDITION ];

Sentencia SQLite VACUUM:

VACUUM;

Cláusula SQLite WHERE:

SELECT column1, column2....columnN
FROM   table_name
WHERE  CONDITION;
Otras extensiones