本章将带您了解SQLite程序员使用的简单且有用的命令,这些命令称为SQLite点命令,但这些命令的例外是它们不应以分号(;)终止。
让无涯教程从在命令提示符处键入一个简单的 sqlite3 命令开始,它将为您提供SQLite命令提示符,您将在其中发出各种SQLite命令。
$sqlite3 SQLite version 3.3.6 Enter ".help" for instructions sqlite>
有关可用的点命令的列表,您可以随时输入" .help"。如-
sqlite>.help
上面的命令将显示各种重要的SQLite点命令的列表,下表中列出了这些命令。
| Sr.No. | Command & Remark |
|---|---|
| 1 |
.backup?DB?FILE 备份数据库(默认为" main")到FILE |
| 2 |
.bail ON | OFF 遇到错误后停止。默认OFF |
| 3 |
.database 列出附加数据库的名称和文件 |
| 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 打开或关闭登录。 FILE可以是stderr/stdout |
| 14 |
.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 尝试打开锁定的表,以毫秒为单位 |
| 28 |
.width NUM NUM 设置"列"模式的列宽 |
| 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 Learnfk 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 );