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 );