Before reading this you're supposed to have downloaded and unpacked in your PATH the latest version of the executable command line interface sqlite3 for your operating system.
CommandLine
Usage: sqlite3 [OPTIONS] FILENAME [SQL]
- FILENAME is the name of an SQLite database. A new database is created if the file does not previously exist.
- SQL is a dot-, SQL-command or Pragma. OPTIONS include:
-A ARGS... = .archive ARGS and exit
-append append database to end of file
-ascii = .mode ascii
-bail = .bail on
-batch force batch I/O
-box = .mode box
-column = .mode column
-cmd COMMAND run "COMMAND" before reading stdin
-csv = .mode csv
-deserialize open using sqlite3_deserialize()
-echo = .echo on
-init FILENAME read/process named file
-[no]header = .header [off] or on
-help show this message
-html = .mode HTML
-interactive force interactive I/O
-json = .mode json
-line = .mode line
|
-list = .mode list
-lookaside SIZE N use N entries of SIZE bytes for lookaside memory
-markdown = .mode markdown
-memtrace trace all memory allocations and (de)allocations
-mmap N default mmap size set to N
-newline SEP = .separator "|" SEP. Default: "\n"
-nofollow = refuse to open symbolic links to database files
-nullvalue TEXT = .NULLvalue TEXT. Default ""
-pagecache SIZE N use N slots of SIZE bytes each for page cache memory
-quote = .mode quote
-readonly open the database read-only
-separator SEP = .separator SEP. Default: "|"
-stats print memory stats before each finalize
-table = .mode table
-tabs = .mode tabs
-version = .version
-vfs NAME use NAME as the default VFS
-zip open the file as a ZIP Archive
|
DotCommands
- SQLite3.37 .helpScreen (a-g)
- .archive OPT... FILE... Manage SQL archives a
- .auth (ON,OFF) Show authorizer callbacks
- .backup ?DB? FILE Backup DB (default "main") to FILE
- .bail (on,off) Stop after hitting an error. Default OFF
- .binary (on,off) Turn binary output on or off. Default OFF
- .cd DIRECTORY Change the working DIRECTORY
- .changes (on,off) Show number of rows changed by SQL
- .check GLOB Fail if output since .testcase does not match
- .clone NEWDB Clone data into NEWDB from the existing database
- .connection (close #) Open/close auxiliary database
- .databases Show names and files of attached databases
- .dbconfig ?op? ?val? Show/change sqlite3_db_config() options
- .dbinfo ?DB? Show status information about the database
- .dump ?TABLE? ... Dump the database in an SQL text formatt
- .echo (on,off) Turn command echo on or off
- .eqp (on,off,trigger,full) En-/disable automatic EXPLAIN QUERY PLAN
- .excel Display the output of next command in a spreadsheet
- .exit ?CODE? Exit (=.q) this program (returning CODE)
- .expert EXPERIMENTAL. Indexes for spec. queries
- .explain (on,off,auto) Explain format def. auto
- .filectrl CMD ... Run sqlite3_file_control() operationsf
- .fullschema ?--indent? Show schema and the content of sqlite_stat tables
|
- (h-q)
- .headers (on,off) Turn display of headers on or off
- .help ?REGEX? Show this message (or only REGEX)h
- .import OPT... FILE TABLE Import FILE > TABLE i
- .imposter INDEX TABLE Create imposter table TABLE on index INDEX
- .indexes ?TABLE? Show names of all indexest
- .limit ?LIMIT? ?VAL? Display or change the value of an SQLITE_LIMIT
- .lint OPTIONS Report potential schema issues.
- .load FILE ?ENTRY? Load an extension library
- .log (FILE,off) Turn logging on or off. FILE can be stderr/stdout
- .mode MODE ?TABLE? Set output modem for tablet
- .nullvalue STRING Use STRING in place of NULL values
- .nonce STRING disable safe mode for one command
- .once (-e,-x,FILE) Output for the next SQL command only to FILEe
- .open ?OPTIONS? ?FILE? Close existing database and reopen FILEo
- .output ?FILE? Send output to FILE or stdout
- .parameter CMD ... Manage SQL parameter bindingsp
- .print STRING... Print literal STRING
- .progress N Invoke progress handler after every N opcodes
- .prompt MAIN CONTINUE Replace the standard prompts
- .quit Quit (=.ex) this program
- ------ screenshot from: ------
- https://en.wikibooks.org/wiki/SQLite/Release3#DotCommands
|
- (r-z)
- .read FILENAME Execute SQL in FILENAME
- .recover Recover data from corrupt db
- .restore ?DB? FILE DB content (dflt "main") from FILE
- .save FILE Write in-memory database into FILE
- .scanstats (on,off) sqlite3_stmt_scanstatus() metrics
- .schema ?PATTERN? Show the CREATE statements matching PATTERNs1
- .selftest ?--init? Run tests defined in the SELFTEST table
- .separator COL ?ROW? Change separator for column and optionally rows2
- .sha3sum ?OPTIONS...? Compute a SHA3 hash of database content
- .shell CMD ARGS... Run CMD ARGS... in OS shell (=sy)
- .show Show the current values for various settings
- .stats (on,off) Show stats or turn stats on or off
- .system CMD ARGS... Run CMD ARGS... in OS shell (=.sh)
- .tables ?TABLE? List names of tablest1
- .testcase NAME Begin redirecting output to 'testcase-out.txt'
- .testctrl CMD ... Run sqlite3_test_control() opst2
- .timeout MS Try opening locked tables for MS milliseconds
- .timer (on,off) Turn SQL timer on or off
- .trace (FILE,off) Output each SQL statement as it is run
- .version Show detailed SQLite version info
- .vfsinfo ?AUX? Information about the top-level VFS
- .vfslist List all available VFSes
- .vfsname' ?AUX? Print the name of the VFS stack
- .width NUM1 ... Set col widths for "column" modew
|
- D-notes
More info @sqlite.org/cli.html#special_commands_to_sqlite3_dot_commands_
a .ar [OPTION...] [FILE...]
The .ar command manages sqlar archives.
Examples:
.ar -cf archive.sar foo bar # Create archive.sar from files foo and bar
.ar -tf archive.sar # List members of archive.sar
.ar -xvf archive.sar # Verbosely extract files from archive.sar
Each command line must feature exactly one command option:
-c, --create Create a new archive
-u, --update Update or add files to an existing archive
-t, --list List contents of archive
-x, --extract Extract files from archive
And zero or more optional options:
-v, --verbose Print each filename as it is processed
-f FILE, --file FILE Operate on archive FILE (default is current db)
-a FILE, --append FILE Operate on FILE opened using the apndvfs VFS
-C DIR, --directory DIR Change to directory DIR to read/extract files
-n, --dryrun Show the SQL that would have occurred
See also: sar-support
e or invoke system text editor (-e) or spreadsheet (-x) on the output.
|
- f CMD ... may be size_limit [LIMIT]; chunk_size SIZE;
- persist_wal [BOOLEAN]; psow [BOOLEAN]; tempfilename
- has_moved; lock_timeout MILLISEC
- h only show commands matching REGEX e.g. p*=starting with p
- i option to skip first line; --skip 1
- l lintOptions: fkey-indexes Find missing foreign key indexes
- m mode: ascii delimited by 0x1F and 0x1E; csv Comma-separated values;
- column Left-aligned columns (See .width); html HTML <table> code;
- insert SQL insert statements for TABLE; line One value per line
- list delimited by "|"; quote Escape answers as for SQL
- tabs Tab-separated values; tcl TCL list elements
- o openOptions: --new option starts with an empty file
- Other options: --readonly --append --zip
- p paramCMDs:
- clear Erase all bindings
- init Initialize the TEMP table that holds bindings
- list List the current parameter bindings
- set PARAMETER VALUE Given SQL parameter PARAMETER a value of VALUE
- PARAMETER should start with '$', ':', '@', or '?'
- unset PARAMETER Remove PARAMETER from the binding table
- s1 schemaOption: --indent for pretty-printing
- s2 separator for both the output mode and .import:
- t1 If TABLE specified, only dump tables matching LIKE pattern TABLE.
- t2 CMD ... may be always BOOLEAN; assert BOOLEAN; byteorder;
- imposter SCHEMA ON/OFF ROOTPAGE; internal_functions BOOLEAN; localtime_fault BOOLEAN
- never_corrupt BOOLEAN; optimizations DISABLE-MASK; pending_byte OFFSET; prng_reset;
- prng_restore; prng_save; reserve BYTES-OF-RESERVE
- w Negative values right-justify
|
KeyWords
If one wants to use one of following words as an identifier the word needs to be enclosed in two double quotes '"', backquotes '`' or '[' and ']'.[1]
- K-notes and/or references
- ↑ SQLite Keywords more info @sqlite.org/lang_keywords.html.
- ↑ a b Not a keyword, but a predefined variable. Usage as identifier might be confusing.
Pragmas
Pragmas are special commands to show or [change] behavior of open database[schema](s)
- Usage: PRAGMA [schema-name.]name [ = TEXT or INT ];
- active pragmas (61)
- analysis_limit
- application_id
- auto_vacuum
- automatic_index
- busy_timeout
- cache_size
- cache_spill
- case_sensitive_like
- cell_size_check
- checkpoint_fullfsync
|
- collation_list
- compile_options
- data_version
- database_list
- defer_foreign_keys
- encoding
- foreign_key_check
- foreign_key_list
- foreign_keys
- freelist_count
|
- fullfsync
- function_list
- hard_heap_limit
- ignore_check_constraints
- incremental_vacuum
- index_info
- index_list
- index_xinfo
- integrity_check
- journal_mode
- journal_size_limit
|
- legacy_alter_table
- legacy_file_format
- locking_mode
- max_page_count
- mmap_size
- module_list
- optimize
- page_count
- page_size
- pragma_list
|
- query_only
- quick_check
- read_uncommitted
- recursive_triggers
- reverse_unordered_selects
- schema_version
- secure_delete
- shrink_memory
- soft_heap_limit
- stats
|
- synchronous
- table_info
- table_xinfo
- temp_store
- threads
- trusted_schema
- user_version
- wal_autocheckpoint
- wal_checkpoint
- writable_schema
|
- deprecated pragmas (7)
|
- data_store_directory
- default_cache_size
|
- empty_result_callbacks
- full_column_names
|
- short_column_names
- temp_store_directory
|
- pragmas with non-standard compile-options (5)