Query Language Understood by SQLite

Small. Fast. Reliable.
Choose any three.

About Documentation Download License Support Purchase |

# SQL As Understood By SQLite

SQLite understands most of the standard SQL language. But it does omit some features while at the same time adding a few features of its own. This document attempts to describe precisely what parts of the SQL language SQLite does and does not support. A list of SQL keywords is also provided. The SQL language syntax is described by syntax diagrams.

The following syntax documentation topics are available:

aggregate functions ALTER TABLE ANALYZE ATTACH DATABASE BEGIN TRANSACTION comment COMMIT TRANSACTION core functions CREATE INDEX CREATE TABLE CREATE TRIGGER CREATE VIEW CREATE VIRTUAL TABLE | date and time functions DELETE DETACH DATABASE DROP INDEX DROP TABLE DROP TRIGGER DROP VIEW END TRANSACTION EXPLAIN expression INDEXED BY INSERT keywords | ON CONFLICT clause PRAGMA REINDEX RELEASE SAVEPOINT REPLACE ROLLBACK TRANSACTION SAVEPOINT SELECT UPDATE VACUUM WITH clause

The routines sqlite3_prepare_v2(), sqlite3_prepare(), sqlite3_prepare16(), sqlite3_prepare16_v2(), sqlite3_exec(), and sqlite3_get_table() accept an SQL statement list (sql-stmt-list) which is a semicolon-separated list of statements.

sql-stmt-list:

Each SQL statement in the statement list is an instance of the following:

sql-stmt: