SQLite - 命令
本章将带您了解 SQLite 程序员使用的简单而有用的命令。 这些命令称为 SQLite 点命令,这些命令的例外是它们不应以分号 (;) 结尾。
让我们从在命令提示符处键入一个简单的 sqlite3 命令开始,它将为您提供 SQLite 命令提示符,您将在其中发出各种 SQLite 命令。
$sqlite3 SQLite version 3.3.6 Enter ".help" for instructions sqlite>
有关可用点命令的列表,您可以随时输入".help"。 例如 −
sqlite>.help
上述命令将显示各种重要的 SQLite 点命令列表,如下表所示。
| 序号 | 命令 & 说明 |
|---|---|
| 1 | .backup ?DB? FILE 备份数据库(default "main")到文件 |
| 2 | .bail ON|OFF 遇到错误后停止。 默认关闭 |
| 3 | .databases 列出附加数据库的名称和文件 |
| 4 | .dump ?TABLE? 以 SQL 文本格式转储数据库。 如果指定了 TABLE,则仅转储匹配 LIKE 模式 TABLE 的表 |
| 5 | .echo ON|OFF 打开或关闭命令回显 |
| 6 | .exit 退出 SQLite 提示符 |
| 7 | .explain ON|OFF 打开或关闭适合 EXPLAIN 的输出模式。 没有参数,它会打开 EXPLAIN |
| 8 | .header(s) ON|OFF 打开或关闭标题的显示 |
| 9 | .help 显示此消息 |
| 10 | .import FILE TABLE 将数据从 FILE 导入 TABLE |
| 11 | .indices ?TABLE? 显示所有索引的名称。 如果指定了 TABLE,则仅显示与 LIKE 模式 TABLE 匹配的表的索引 |
| 12 | .load FILE ?ENTRY? 加载扩展库 |
| 13 | .log FILE|off 打开或关闭登录。 文件可以是标准错误/标准输出 |
| 14 | .mode MODE 设置输出模式,其中 MODE 是其中之一 −
|
| 15 | .nullvalue STRING 打印 STRING 代替 NULL 值 |
| 16 | .output FILENAME 将输出发送到 FILENAME |
| 17 | .output stdout 将输出发送到屏幕 |
| 18 | .print STRING... 打印文字 STRING |
| 19 | .prompt MAIN CONTINUE 替换标准提示 |
| 20 | .quit 退出 SQLite 提示符 |
| 21 | .read FILENAME 在 FILENAME 中执行 SQL |
| 22 | .schema ?TABLE? 显示 CREATE 语句。 如果指定了 TABLE,则仅显示匹配 LIKE 模式 TABLE 的表 |
| 23 | .separator STRING 更改输出模式和 .import 使用的分隔符 |
| 24 | .show 显示各种设置的当前值 |
| 25 | .stats ON|OFF 打开或关闭统计信息 |
| 26 | .tables ?PATTERN? 列出与 LIKE 模式匹配的表的名称 |
| 27 | .timeout MS 尝试在 MS 毫秒内打开锁定的表 |
| 28 | .width NUM NUM 设置"column"列模式的列宽 |
| 29 | .timer ON|OFF 打开或关闭 CPU 定时器测量 |
让我们试试 .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 );

