SQLite 命令
sqlite 命令
本章将介绍 sqlite 常用命令,这些命令被称为 sqlite 的点命令,这些命令的不同之处在于它们不以分号 ; 结束。
让我们在命令提示符下键入一个简单的 sqlite3 命令,在 sqlite 命令提示符下,您可以使用各种 sqlite 命令。
$ sqlite3 sqlite version 3.3.6 enter ".help" for instructions sqlite>
如需获取可用的点命令的清单,可以在任何时候输入 ".help"。例如:
sqlite>.help
上面的命令会显示各种重要的 sqlite 点命令的列表,如下所示:
命令 | 描述 |
---|---|
.backup ?db? file | 备份 db 数据库(默认是 "main")到 file 文件。 |
.bail on|off | 发生错误后停止。默认为 off。 |
.databases | 列出数据库的名称及其所依附的文件。 |
.dump ?table? | 以 sql 文本格式转储数据库。如果指定了 table 表,则只转储匹配 like 模式的 table 表。 |
.echo on|off | 开启或关闭 echo 命令。 |
.exit | 退出 sqlite 提示符。 |
.explain on|off | 开启或关闭适合于 explain 的输出模式。如果没有带参数,则为 explain on,即开启 explain。 |
.header(s) on|off | 开启或关闭头部显示。 |
.help | 显示消息。 |
.import file table | 导入来自 file 文件的数据到 table 表中。 |
.indices ?table? | 显示所有索引的名称。如果指定了 table 表,则只显示匹配 like 模式的 table 表的索引。 |
.load file ?entry? | 加载一个扩展库。 |
.log file|off | 开启或关闭日志。file 文件可以是 stderr(标准错误)/stdout(标准输出)。 |
.mode mode | 设置输出模式,mode 可以是下列之一:
|
.nullvalue string | 在 null 值的地方输出 string 字符串。 |
.output filename | 发送输出到 filename 文件。 |
.output stdout | 发送输出到屏幕。 |
.print string... | 逐字地输出 string 字符串。 |
.prompt main continue | 替换标准提示符。 |
.quit | 退出 sqlite 提示符。 |
.read filename | 执行 filename 文件中的 sql。 |
.schema ?table? | 显示 create 语句。如果指定了 table 表,则只显示匹配 like 模式的 table 表。 |
.separator string | 改变输出模式和 .import 所使用的分隔符。 |
.show | 显示各种设置的当前值。 |
.stats on|off | 开启或关闭统计。 |
.tables ?pattern? | 列出匹配 like 模式的表的名称。 |
.timeout ms | 尝试打开锁定的表 ms 毫秒。 |
.width num num | 为 "column" 模式设置列宽度。 |
.timer on|off | 开启或关闭 cpu 定时器。 |
让我们尝试使用 .show 命令,来查看 sqlite 命令提示符的默认设置。
sqlite>.show echo: off explain: off headers: off mode: column nullvalue: "" output: stdout separator: "|" width: sqlite>确保 sqlite> 提示符与点命令之间没有空格,否则将无法正常工作。
1. 格式化输出
您可以使用下列的点命令来格式化输出为本教程下面所列出的格式:
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
2. sqlite_master 表格
主表中保存数据库表的关键信息,并把它命名为 sqlite_master。如要查看表概要,可按如下操作:
sqlite>.schema sqlite_master
这将产生如下结果:
create table sqlite_master ( type text, name text, tbl_name text, rootpage integer, sql text );