Syntax Diagrams For SQLite

SQLite

Small. Fast. Reliable.
Choose any three.

aggregate-function-invocation:

alter-table-stmt:

ALTER TABLE schema-name . table-name RENAME TO new-table-name RENAME COLUMN column-name TO new-column-name ADD COLUMN column-def DROP COLUMN column-name

Used by:   sql-stmt

References:   column-def

See also:   lang_altertable.html

analyze-stmt:

ANALYZE schema-name . table-or-index-name schema-name index-or-table-name

Used by:   sql-stmt

See also:   lang_analyze.html

attach-stmt:

begin-stmt:

column-constraint:

column-def:

column-name-list:

comment-syntax:

-- anything-except-newline newline end-of-input /* anything-except-*/ */

See also:   lang_comment.html

commit-stmt:

common-table-expression:

compound-operator:

compound-select-stmt:

WITH RECURSIVE common-table-expression , select-core ORDER BY LIMIT expr UNION UNION ALL select-core INTERSECT EXCEPT ordering-term , OFFSET expr , expr

References:   common-table-expression   expr   ordering-term   select-core

See also:   lang_select.html#compound

conflict-clause:

create-index-stmt:

create-table-stmt:

CREATE TEMP TEMPORARY TABLE IF NOT EXISTS schema-name . table-name ( column-def table-constraint , ) table-options , AS select-stmt

Used by:   sql-stmt

References:   column-def   select-stmt   table-constraint   table-options

See also:   lang_createtable.html

create-trigger-stmt:

CREATE TEMP TEMPORARY TRIGGER IF NOT EXISTS schema-name . trigger-name BEFORE AFTER INSTEAD OF DELETE INSERT UPDATE OF column-name , ON table-name FOR EACH ROW WHEN expr BEGIN update-stmt ; END insert-stmt delete-stmt select-stmt

Used by:   sql-stmt

References:   delete-stmt   expr   insert-stmt   select-stmt   update-stmt

See also:   lang_createtrigger.html

create-view-stmt:

CREATE TEMP TEMPORARY VIEW IF NOT EXISTS schema-name . view-name ( column-name ) AS select-stmt ,

Used by:   sql-stmt

References:   select-stmt

See also:   lang_createview.html

create-virtual-table-stmt:

CREATE VIRTUAL TABLE IF NOT EXISTS schema-name . table-name USING module-name ( module-argument ) ,

Used by:   sql-stmt

See also:   lang_createvtab.html

cte-table-name:

delete-stmt:

delete-stmt-limited:

WITH RECURSIVE common-table-expression , DELETE FROM qualified-table-name WHERE expr returning-clause ORDER BY ordering-term , LIMIT expr OFFSET expr , expr

Used by:   sql-stmt

References:   common-table-expression   expr   ordering-term   qualified-table-name   returning-clause

See also:   lang_delete.html

detach-stmt:

drop-index-stmt:

drop-table-stmt:

drop-trigger-stmt:

drop-view-stmt:

expr:

factored-select-stmt:

WITH RECURSIVE common-table-expression , select-core ORDER BY LIMIT expr compound-operator ordering-term , OFFSET expr , expr

References:   common-table-expression   compound-operator   expr   ordering-term   select-core

See also:   lang_select.html

filter-clause:

foreign-key-clause:

frame-spec:

function-arguments:

indexed-column:

insert-stmt:

WITH RECURSIVE common-table-expression , REPLACE INSERT OR ROLLBACK INTO ABORT FAIL IGNORE REPLACE schema-name . table-name AS alias ( column-name ) , VALUES ( expr ) , , upsert-clause select-stmt upsert-clause DEFAULT VALUES returning-clause

Used by:   create-trigger-stmt   sql-stmt

References:   common-table-expression   expr   returning-clause   select-stmt   upsert-clause

See also:   lang_createtrigger.html   lang_insert.html

join-clause:

join-constraint:

join-operator:

literal-value:

numeric-literal:

ordering-term:

over-clause:

pragma-stmt:

PRAGMA schema-name . pragma-name ( pragma-value ) = pragma-value

Used by:   sql-stmt

References:   pragma-value

See also:   pragma.html#syntax

pragma-value:

qualified-table-name:

raise-function:

recursive-cte:

reindex-stmt:

REINDEX schema-name . index-name table-name collation-name

Used by:   sql-stmt

See also:   lang_reindex.html

release-stmt:

result-column:

returning-clause:

rollback-stmt:

savepoint-stmt:

select-core:

select-stmt:

signed-number:

simple-function-invocation:

simple-select-stmt:

sql-stmt:

EXPLAIN QUERY PLAN alter-table-stmt analyze-stmt attach-stmt begin-stmt commit-stmt create-index-stmt create-table-stmt create-trigger-stmt create-view-stmt create-virtual-table-stmt delete-stmt delete-stmt-limited detach-stmt drop-index-stmt drop-table-stmt drop-trigger-stmt drop-view-stmt insert-stmt pragma-stmt reindex-stmt release-stmt rollback-stmt savepoint-stmt select-stmt update-stmt update-stmt-limited vacuum-stmt

Used by:   sql-stmt-list

References:   alter-table-stmt   analyze-stmt   attach-stmt   begin-stmt   commit-stmt   create-index-stmt   create-table-stmt   create-trigger-stmt   create-view-stmt   create-virtual-table-stmt   delete-stmt   delete-stmt-limited   detach-stmt   drop-index-stmt   drop-table-stmt   drop-trigger-stmt   drop-view-stmt   insert-stmt   pragma-stmt   reindex-stmt   release-stmt   rollback-stmt   savepoint-stmt   select-stmt   update-stmt   update-stmt-limited   vacuum-stmt

See also:   lang.html   lang_explain.html

sql-stmt-list:

table-constraint:

table-options:

table-or-subquery:

type-name:

update-stmt:

WITH RECURSIVE common-table-expression , UPDATE OR ROLLBACK qualified-table-name OR REPLACE OR IGNORE OR FAIL OR ABORT SET column-name-list = expr column-name , FROM table-or-subquery , join-clause WHERE expr returning-clause

Used by:   create-trigger-stmt   sql-stmt

References:   column-name-list   common-table-expression   expr   join-clause   qualified-table-name   returning-clause   table-or-subquery

See also:   lang_createtrigger.html   lang_update.html

update-stmt-limited:

WITH RECURSIVE common-table-expression , UPDATE OR ROLLBACK qualified-table-name OR REPLACE OR IGNORE OR FAIL OR ABORT SET column-name-list = expr column-name , FROM table-or-subquery , join-clause WHERE expr returning-clause ORDER BY ordering-term , LIMIT expr OFFSET expr , expr

Used by:   sql-stmt

References:   column-name-list   common-table-expression   expr   join-clause   ordering-term   qualified-table-name   returning-clause   table-or-subquery

See also:   lang_update.html#upfrom

upsert-clause:

vacuum-stmt:

window-defn:

window-function-invocation:

with-clause:

WITH RECURSIVE cte-table-name AS NOT MATERIALIZED ( select-stmt ) MATERIALIZED ,

References:   cte-table-name   select-stmt

See also:   lang_with.html