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 将数据库(默认为“main”)备份到文件 |
2 | .bail ON|OFF 遇到错误后停止。默认为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 将文件中的数据导入到表中 |
11 | .indices ?TABLE? 显示所有索引的名称。如果指定了TABLE,则只显示与LIKE模式TABLE匹配的表的索引 |
12 | .load FILE ?ENTRY? 加载扩展库 |
13 | .log FILE|off 打开或关闭日志记录。FILE可以是stderr/stdout |
14 | .mode MODE 设置输出模式,其中MODE是以下之一:
csv - 逗号分隔值 |
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
);