sqlite - A command line interface for SQLite


sqlite [options] filename [SQL]


sqlite is a terminal-based front-end to the SQLite library. It enables you to type in queries interactively, issue them to SQLite and see the results. Alternatively, you can specify SQL code on the command-line. In addition it provides a number of meta-commands.


This manual page documents briefly the sqlite command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.


To start the sqlite program, just type "sqlite" followed by the name the file that holds the SQLite database. If the file does not exist, a new one is created automatically. The sqlite program will then prompt you to enter SQL. Type in SQL statements (terminated by a semicolon), press "Enter" and the SQL will be executed.

For example, to create a new SQLite database named "ex1" with a single table named "tbl1", you might do this:

$ sqlite ex1 SQLite version 2.0.0 Enter ".help" for instructions sqlite> create table tbl1(one varchar(10), two smallint); sqlite> insert into tbl1 values(’hello!’,10); sqlite> insert into tbl1 values(’goodbye’, 20); sqlite> select * from tbl1; hello!|10 goodbye|20 sqlite>


Most of the time, sqlite just reads lines of input and passes them on to the SQLite library for execution. But if an input line begins with a dot ("."), then that line is intercepted and interpreted by the sqlite program itself. These "dot commands" are typically used to change the output format of queries, or to execute certain prepackaged query statements.

For a listing of the available dot commands, you can enter ".help" at any time. For example:

sqlite> .help "off" will revert to the output mode that was previously in effect "insert", "list", or "html" "sqlite > " and " ...> " with the strings MAIN and CONTINUE CONTINUE is optional. .echo .explain .mode .nullvalue .output .separator .width sqlite> |cc .


The program has the following options:
-init file Read in and process ’file’, which contains "dot commands". You can use this file to initialize display settings.
-html Set output mode to HTML.
-list Set output mode to ’list’.
-line Set output mode to ’line’.
-column Set output mode to ’column’.
-separator separator
 Specify which output field separator for ’list’ mode to use. Default is ’|’.
-nullvalue string
 When a null is encountered, print ’string’. Default is no string.
 Turn headers on or off. Default is off.
-echo Print commands before execution.


The SQLite program has different output modes, which define the way the output (from queries) is formatted.

In ’list’ mode, which is the default, one record per line is output, each field separated by the separator specified with the -separator option or .separator command.

In ’line’ mode, each column is output on its own line, records are separated by blank lines.

In HTML mode, an XHTML table is generated.

In ’column’ mode, one record per line is output, aligned neatly in colums.


sqlite can be initialized using resource files. These can be combined with command line arguments to set up sqlite exactly the way you want it. Initialization proceeds as follows:

o The defaults of

mode = LIST separator = "|" main prompt = "sqlite> " continue prompt = " ...> " |cc .

are established.

o If a file .sqliterc can be found in the user’s home directory, it is read and processed. It should only contain "dot commands". If the file is not found or cannot be read, processing continues without notification.

o If a file is specified on the command line with the -init option, it is processed in the same manner as .sqliterc

o All other command line options are processed

o The database is opened and you are now ready to begin.

SEE ALSO The sqlite-doc package


This manual page was originally written by Andreas Rottmann <>, for the Debian GNU/Linux system (but may be used by others).

openSUSE Logo