SQLite 命令
SQLite 命令
本章将介绍SQLite3的简单而有用的命令。这些命令称为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文本格式转储数据库。如果指定了表,则仅转储与模式表相匹配表
5-.echo ON|OFF : 打开或关闭echo
6-.exit: 退出SQLite提示符
7-.explain ON|OFF: 打开或关闭适用于说明输出模式。如果没有参数,EXPLAIN将为ON
8- .header(s) ON|OFF : 打开或关闭标题显示
9- .help:显示帮助信息
10-.import FILE TABLE:从文件导入数据到表
11-.indices ?TABLE?:显示所有索引的名称。如果指定了表,则仅显示与类似模式表匹配表索引
12-.load FILE ?ENTRY?:加载扩展库
13-.log FILE|off:打开或关闭日志。文件可以是 stderr/stdout
14-.mode MODE:设置输出模式,其中模式为下面的参数
csv − 逗号分隔的文本
column − 左对齐的列。
html −html代码
insert − 表的SQL插入语句
line − 每行一个值
list − 由分号分隔的字符串
tabs − 由制表符分隔的字符串
tcl − 列表元素
15-.nullvalue STRING:打印字符串以代替空值
16-.output FILENAME:将输出发送到文件名
17-.output stdout:将输出发送到屏幕
18-.print STRING...:打印文字字符串
19-.prompt MAIN CONTINUE:替换标准提示
20-.quit:退出SQLite提示符
21-.read FILENAME:在文件名中执行SQL
22-.schema ?TABLE?:显示CREATE语句。如果指定了表,则仅显示与模式表相似的表
23-.separator STRING:改输出模式为分号
24-.show:显示各种设置的当前值
25-.stats ON|OFF:打开或关闭统计信息
26-.tables ?PATTERN?:列出与类似模式匹配的表的名称
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 >提示符和dot命令之间没有空格,否则将不起作用。
格式化输出
您可以使用以下点命令序列来格式化输出。
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 );