191 lines
6.1 KiB
Groff
191 lines
6.1 KiB
Groff
|
.\" $NetBSD: sqlite3.1,v 1.5 2012/12/21 19:26:39 njoly Exp $
|
||
|
.Dd December 16, 2012
|
||
|
.Dt SQLITE3 1
|
||
|
.Os
|
||
|
.Sh NAME
|
||
|
.Nm sqlite3
|
||
|
.Nd A command line interface for SQLite version 3
|
||
|
.Sh SYNOPSIS
|
||
|
.Nm
|
||
|
.Op Ar options
|
||
|
.Op Ar databasefile
|
||
|
.Op Ar SQL
|
||
|
.Sh DESCRIPTION
|
||
|
.Nm
|
||
|
is a terminal-based front-end to the SQLite library that can evaluate
|
||
|
queries interactively and display the results in multiple formats.
|
||
|
.Nm
|
||
|
can also be used within shell scripts and other applications to provide
|
||
|
batch processing features.
|
||
|
.Pp
|
||
|
To start a
|
||
|
.Nm
|
||
|
interactive session, invoke the
|
||
|
.Nm
|
||
|
command and optionally provide the name of a database file.
|
||
|
If the database file does not exist, it will be created.
|
||
|
If the database file does exist, it will be opened.
|
||
|
.Pp
|
||
|
For example, to create a new database file named "mydata.db", create
|
||
|
a table named "memos" and insert a couple of records into that table:
|
||
|
.Bd -literal -offset indent
|
||
|
$ sqlite3 mydata.db
|
||
|
SQLite version 3.1.3
|
||
|
Enter ".help" for instructions
|
||
|
sqlite> create table memos(text, priority INTEGER);
|
||
|
sqlite> insert into memos values('deliver project description', 10);
|
||
|
sqlite> insert into memos values('lunch with Christine', 100);
|
||
|
sqlite> select * from memos;
|
||
|
deliver project description|10
|
||
|
lunch with Christine|100
|
||
|
sqlite>
|
||
|
.Ed
|
||
|
.Pp
|
||
|
If no database name is supplied, the
|
||
|
.Em ATTACH
|
||
|
sql command can be used
|
||
|
to attach to existing or create new database files.
|
||
|
.Em ATTACH
|
||
|
can also be used to attach to multiple databases within the same
|
||
|
interactive session.
|
||
|
This is useful for migrating data between databases,
|
||
|
possibly changing the schema along the way.
|
||
|
.Pp
|
||
|
Optionally, a SQL statement or set of SQL statements can be supplied as
|
||
|
a single argument.
|
||
|
Multiple statements should be separated by semi-colons.
|
||
|
.Pp
|
||
|
For example:
|
||
|
.Bd -literal -offset indent
|
||
|
$ sqlite3 -line mydata.db 'select * from memos where priority > 20;'
|
||
|
text = lunch with Christine
|
||
|
priority = 100
|
||
|
.Ed
|
||
|
.Ss SQLITE META-COMMANDS
|
||
|
The interactive interpreter offers a set of meta-commands that can be
|
||
|
used to control the output format, examine the currently attached
|
||
|
database files, or perform administrative operations upon the
|
||
|
attached databases (such as rebuilding indices).
|
||
|
Meta-commands are always prefixed with a dot
|
||
|
.Dq \&. .
|
||
|
.Pp
|
||
|
A list of available meta-commands can be viewed at any time by issuing
|
||
|
the '.help' command.
|
||
|
For example:
|
||
|
.Bd -literal -offset indent
|
||
|
sqlite> .help
|
||
|
\&.databases List names and files of attached databases
|
||
|
\&.dump ?TABLE? ... Dump the database in an SQL text format
|
||
|
\&.echo ON|OFF Turn command echo on or off
|
||
|
\&.exit Exit this program
|
||
|
\&.explain ON|OFF Turn output mode suitable for EXPLAIN on or off.
|
||
|
\&.header(s) ON|OFF Turn display of headers on or off
|
||
|
\&.help Show this message
|
||
|
\&.import FILE TABLE Import data from FILE into TABLE
|
||
|
\&.indices TABLE Show names of all indices on TABLE
|
||
|
\&.mode MODE ?TABLE? Set output mode where MODE is one of:
|
||
|
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 Values delimited by .separator string
|
||
|
tabs Tab-separated values
|
||
|
tcl TCL list elements
|
||
|
\&.nullvalue STRING Print STRING in place of NULL values
|
||
|
\&.output FILENAME Send output to FILENAME
|
||
|
\&.output stdout Send output to the screen
|
||
|
\&.prompt MAIN CONTINUE Replace the standard prompts
|
||
|
\&.quit Exit this program
|
||
|
\&.read FILENAME Execute SQL in FILENAME
|
||
|
\&.schema ?TABLE? Show the CREATE statements
|
||
|
\&.separator STRING Change separator used by output mode and .import
|
||
|
\&.show Show the current values for various settings
|
||
|
\&.tables ?PATTERN? List names of tables matching a LIKE pattern
|
||
|
\&.timeout MS Try opening locked tables for MS milliseconds
|
||
|
\&.width NUM NUM ... Set column widths for "column" mode
|
||
|
sqlite>
|
||
|
.Ed
|
||
|
.Sh OPTIONS
|
||
|
.Nm
|
||
|
has the following options:
|
||
|
.Bl -tag -width abcdefghij
|
||
|
.It Fl init Ar file
|
||
|
Read and execute commands from
|
||
|
.Ar file ,
|
||
|
which can contain a mix of SQL statements and meta-commands.
|
||
|
.It Fl echo
|
||
|
Print commands before execution.
|
||
|
.It Fl header
|
||
|
Turn headers on.
|
||
|
.It Fl noheader
|
||
|
Turn headers off.
|
||
|
.It Fl column
|
||
|
Query results will be displayed in a table like form, using
|
||
|
whitespace characters to separate the columns and align the
|
||
|
output.
|
||
|
.It Fl html
|
||
|
Query results will be output as simple HTML tables.
|
||
|
.It Fl line
|
||
|
Query results will be displayed with one value per line, rows
|
||
|
separated by a blank line.
|
||
|
Designed to be easily parsed by scripts or other programs
|
||
|
.It Fl list
|
||
|
Query results will be displayed with the separator (|, by default)
|
||
|
character between each field value.
|
||
|
.It Fl separator Ar separator
|
||
|
Set output field separator.
|
||
|
Default is
|
||
|
.Dq | .
|
||
|
.It Fl nullvalue Ar string
|
||
|
Set
|
||
|
.Ar string
|
||
|
used to represent
|
||
|
.Dv NULL
|
||
|
values.
|
||
|
Default is
|
||
|
.Dq \e
|
||
|
(empty string).
|
||
|
.It Fl version
|
||
|
Show SQLite version.
|
||
|
.It Fl help
|
||
|
Show help on options and exit.
|
||
|
.El
|
||
|
.Ss INIT FILE
|
||
|
.Nm
|
||
|
reads an initialization file to set the configuration of the
|
||
|
interactive environment.
|
||
|
Throughout initialization, any previously specified setting can be overridden.
|
||
|
The sequence of initialization is as follows:
|
||
|
.Bl -enum
|
||
|
.It
|
||
|
The default configuration is established as follows:
|
||
|
.Bd -literal -offset indent
|
||
|
mode = LIST
|
||
|
separator = "|"
|
||
|
main prompt = "sqlite> "
|
||
|
continue prompt = " ...> "
|
||
|
.Ed
|
||
|
.It
|
||
|
If the file
|
||
|
.Pa ~/.sqliterc
|
||
|
exists, it is processed first.
|
||
|
can be found in the user's home directory, it is
|
||
|
read and processed.
|
||
|
It should generally only contain meta-commands.
|
||
|
.It
|
||
|
If the
|
||
|
.Fl init
|
||
|
option is present, the specified file is processed.
|
||
|
.It
|
||
|
All other command line options are processed.
|
||
|
.El
|
||
|
.Sh SEE ALSO
|
||
|
.Lk http://www.sqlite.org/
|
||
|
.Sh AUTHORS
|
||
|
This manual page was originally written by Andreas Rottmann
|
||
|
.Aq rotty@debian.org ,
|
||
|
for the Debian GNU/Linux system (but may be used by others).
|
||
|
It was subsequently revised by Bill Bumgarner
|
||
|
.Aq bbum@mac.com .
|