Create a standard or updatable view SQLite views are read-only by default, but can be made updatable via INSTEAD OF triggers
The view body as query options (preferred), or a raw SELECT string. See ViewDefinition.
Optionaloptions: { replace?: boolean; temporary?: boolean; columns?: string[] }Drop a view
Optionaloptions: { ifExists?: boolean; cascade?: boolean }List all views in the database
Optionalschema: stringGet view definition
Create a trigger
Optionaloptions: { replace?: boolean; forEachRow?: boolean; whenCondition?: string }Create an AFTER INSERT trigger
Create an AFTER DELETE trigger
Create a BEFORE INSERT trigger
Create a BEFORE UPDATE trigger
Create an INSTEAD OF trigger (for views)
Create a recursive trigger
OptionaldeleteBody: stringDrop a trigger
Optionaloptions: { ifExists?: boolean }List all triggers
OptionaltableName: stringGet trigger definition
Create an FTS5 virtual table for full-text search
Optionaloptions: {Create FTS5 table with existing content table
Optionaloptions: { tokenizer?: FTS5Tokenizer }Drop an FTS5 table
Optionaloptions: { ifExists?: boolean }Perform full-text search
Optionaloptions: {Rebuild FTS5 index
Optimize FTS5 index
Parse JSON string
Extract value from JSON
Set value in JSON
Insert into JSON array
Remove from JSON
Get JSON array length
Optionalpath: stringCheck if JSON contains value
Note: SQLite's JSON1 extension has no json_contains function (that name is
MySQL-specific); calling this would fail at runtime with "no such function:
json_contains". Emulate it with json_extract() equality instead.
Optionalpath: stringQuery JSON array as table
Optionalpath: stringQuery JSON object as table
Optionalpath: stringGet JSON type
Optionalpath: stringValid JSON check
Query using json_each (table-valued function)
Optionalpath: stringOptionaloptions: { key?: string; value?: string; type?: string; id?: string; parent?: string }Create table with generated columns
Create a VIRTUAL generated column
Create a STORED generated column
Create a UNIQUE index
Create an expression index
Create an index with IF NOT EXISTS
Optionaloptions: { unique?: boolean; where?: string }List all indexes for a table
Reindex a table or database
Optionaltarget: stringBuild a window function query
Optionaloptions: {LAG() window function
Optionaloffset: numberOptionaldefaultValue: unknownLEAD() window function
Optionaloffset: numberOptionaldefaultValue: unknownFIRST_VALUE() window function
LAST_VALUE() window function
NTH_VALUE() window function
Build a CTE query
Optionalrecursive: booleanExecute a recursive CTE query
Recursive CTE example: Generate sequence
VACUUM the database Reclaims disk space and defragments the database
Optionaloptions: { schema?: string; shrinkTo?: number; analyze?: boolean }ANALYZE the database Updates statistics for the query optimizer
Optionaltarget: stringCreate a savepoint
Release a savepoint
Rollback to a savepoint
Build an UPSERT query
OptionalupdateColumns: string[]Optionaloptions: { ignore?: boolean; replace?: boolean }Perform an upsert
OptionalupdateColumns: string[]Use json_each as table-valued function
Optionalpath: stringUse json_tree as table-valued function
Optionalpath: stringGenerate series using recursive CTE
Optionalstep: numberUse fts5 as table-valued function
Load a SQLite extension
Enable/disable extension loading
Get list of loaded extensions
Create INTEGER PRIMARY KEY column definition
OptionalautoIncrement: booleanGet column affinity
Create CHECK constraint
Create table with ON CONFLICT clause
OptionalconflictAlgorithm: ConflictAlgorithmAdd ON CONFLICT to column definition
Create UNIQUE constraint
Create NOT NULL constraint with ON CONFLICT
OptionalconflictAlgorithm: ConflictAlgorithmExecute a PRAGMA command
Optionalvalue: unknownGet database info
Set database options
Escape identifier
Escape value
SQLite Advanced Features Class Provides comprehensive SQLite-specific features beyond standard SQL