本章将介绍 SQLite 编程人员所使用的简单而有用的命令。这些命令被称为SQLite 的点命令,这些命令的异常并是,他们不被终止分号(;)。
让我们开始键入一个简单的 sqlite3 命令在命令提示符下,将提供 SQLite 的命令提示符,会发出各种SQLite 命令。
$sqlite3 SQLite version 3.3.6 Enter ".help" for instructions sqlite>
可用的点命令的清单,可以在任何时间”.help” 进入。例如:
sqlite>.help
上面的命令会显示一个列表,各种重要的 SQLite 点命令,如下:
命令 | 描述 |
---|---|
.backup ?DB? FILE | Backup DB (default “main”) to FILE |
.bail ON|OFF | Stop after hitting an error. Default OFF |
.databases | List names and files of attached databases |
.dump ?TABLE? | Dump the database in an SQL text format. If TABLE specified, only dump tables matching LIKE pattern TABLE. |
.echo ON|OFF | Turn command echo on or off |
.exit | Exit SQLite prompt |
.explain ON|OFF | Turn output mode suitable for EXPLAIN on or off. With no args, it turns EXPLAIN on. |
.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. If TABLE specified, only show indices for tables matching LIKE pattern TABLE. |
.load FILE ?ENTRY? | Load an extension library |
.log FILE|off | Turn logging on or off. FILE can be stderr/stdout |
.mode MODE | Set output mode where MODE is one of:
|
.nullvalue STRING | Print STRING in place of NULL values |
.output FILENAME | Send output to FILENAME |
.output stdout | Send output to the screen |
.print STRING… | Print literal STRING |
.prompt MAIN CONTINUE | Replace the standard prompts |
.quit | Exit SQLite prompt |
.read FILENAME | Execute SQL in FILENAME |
.schema ?TABLE? | Show the CREATE statements. If TABLE specified, only show tables matching LIKE pattern TABLE. |
.separator STRING | Change separator used by output mode and .import |
.show | Show the current values for various settings |
.stats ON|OFF | Turn stats on or off |
.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 |
.timer ON|OFF | Turn the CPU timer measurement on or off |
让我们尝试 .show 命令可以看到默认设置SQLite 命令提示符。
sqlite>.show echo: off explain: off headers: off mode: column nullvalue: "" output: stdout separator: "|" width: sqlite>
确保sqlite> 提示符点命令之间没有空格,否则将无法正常工作。
格式化输出
您可以使用下面的序列点命令格式化输出的方式在本教程中,以下已经列出:
sqlite>.header on sqlite>.mode column sqlite>.timer on sqlite>
以上设置将产生以下格式输出:
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0 CPU Time: user 0.000000 sys 0.000000
sqlite_master 表格
主表中保存数据库表的关键信息,并它被称为 sqlite_master。可以看到它的模式如下:
sqlite>.schema sqlite_master
这将产生以下结果:
CREATE TABLE sqlite_master ( type text, name text, tbl_name text, rootpage integer, sql text );