一、命令总结
命令
|
命令说明
|
备注
|
.database
|
查看数据库
|
|
.dump
|
备份数据库,将数据库导出sql格式的文件
|
sqlite> .output file.sql
sqlite> .dump
sqlite> .output stdout
文件系统中会存在一个file.sql文件,cat后全部是sql语句。
|
.tables
|
查看数据库表有哪些?
|
|
.show
|
查看设置的各个参数
|
sqlite> .show
echo: off
explain: off
headers: off
mode: column
nullvalue: ""
output: stdout
separator: "|"
stats: off
width:
|
.schema [表名]
|
查看所有或单表的结构
|
|
.indices [表名]
|
查看表的索引
|
|
.output [file|stdout]
|
将结果输出到文件或标准屏幕
|
.output file1.txt
.output file2.cvs
|
.separator [分隔符]
|
设置列数据间的分隔符
|
.separator ,
|
.mode
|
改变输出格式
|
.mode insert tab
.mode column
.mode List默认
|
.header
|
改变输出格式
|
.header on 输出表头
|
.nullvalue STRING
|
遇到空值时,显示的字符串
|
|
.prompt [value]
|
改变CLP的shell提示符
|
sqlite> .prompt 'sqlite3> '
sqlite3>
|
.width NUM1 NUM2 ...
|
在column mode时,设置每一列的显示宽度
|
|
.help
|
帮助
|
|
.quit
|
退出sqlite3命令行
|
|
注意:SQLite3命令以”.”号开始,而SQL操作语句以”;”结束
二、一个很重要的系统表sqlite_master
sqlite_master表是一个系统表,它包含数据库中所有表、视图、索引和触发器的信息。所有表和索引的根页都存储在sqlite_master表中。
数据库中所有的页从1开始顺序编号。一个数据库由多个多重B-tree构成——B-tree用于每一个表和索引。
数据库中第一个页(page 1)有点特殊,page 1的前100个字节是一个对数据库文件进行描述的特殊文件头。它包括库的版本、格式的版本、页大小、编码等所有创建数据库时设
置的永久性参数。有关这个特殊文件头的文档在btree.c中,page 1也是sqlite_master表的根页。
sqlite> .schema sqlite_master
CREATE TABLE sqlite_master (
type text,
name text,
tbl_name text,
rootpage integer,
sql text
);
CREATE TABLE sqlite_master (
type text,
name text,
tbl_name text,
rootpage integer,
sql text
);
编号 | 字段 | 说明 |
1 | type | 值为"table"、 "index"、 "trigger"或"view"之一。 |
2 | name | 对象名称,值为字符串。 |
3 | tbl_name | 如果是表或视图对象,此字段值与字段2相同。如果是索引或触发器对象,此字段值为与其相关的表名。 |
4 | rootpage | 对触发器或视图对象,此字段值为0。对表或索引对象,此字段值为其根页的编号。 |
5 | SQL | 字符串,创建此对象时所使用的SQL语句。 |