开发学院

您的位置:首页>教程>正文

教程正文

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