SQLite - 命令


本章将带您了解 SQLite 程序员使用的简单且有用的命令。这些命令称为 SQLite 点命令,这些命令的例外是它们不应以分号 (;) 结尾。

让我们首先在命令提示符处键入一个简单的sqlite3命令,该命令将为您提供 SQLite 命令提示符,您可以在其中发出各种 SQLite 命令。

$sqlite3
SQLite version 3.3.6
Enter ".help" for instructions
sqlite>

要获取可用点命令的列表,您可以随时输入“.help”。例如 -

sqlite>.help

上面的命令将显示各种重要的 SQLite 点命令的列表,如下表所列。

先生。 命令与说明
1

.备份?数据库?文件

备份数据库(默认“主”)到文件

2

.保释开|关

遇到错误后停止。默认关闭

3

.数据库

列出附加数据库的名称和文件

4

.dump?表?

以 SQL 文本格式转储数据库。如果指定了 TABLE,则仅转储与 LIKE 模式 TABLE 匹配的表

5

.echo 开|关

打开或关闭命令回显

6

。出口

退出 SQLite 提示符

7

.解释开|关

打开或关闭适合 EXPLAIN 的输出模式。如果没有参数,它会打开 EXPLAIN

8

.headerON|OFF

打开或关闭标题显示

9

。帮助

显示此消息

10

.导入文件表

将数据从 FILE 导入到 TABLE

11

.索引?表?

显示所有索引的名称。如果指定了 TABLE,则仅显示与 LIKE 模式 TABLE 匹配的表的索引

12

.加载文件?条目?

加载扩展库

13

.log 文件|关闭

打开或关闭日志记录。文件可以是标准错误/标准输出

14

.模式 MODE

设置输出模式,其中 MODE 是以下之一 -

  • csv - 逗号分隔值

  • - 左对齐的列。

  • html - HTML <table> 代码

  • insert - TABLE 的 SQL 插入语句

  • line - 每行一个值

  • list - 由 .separator 字符串分隔的值

  • tabs - 制表符分隔值

  • tcl - TCL 列表元素

15

.nu​​llvalue STRING

打印 STRING 代替 NULL 值

16

.输出文件名

将输出发送到 FILENAME

17 号

.输出标准输出

将输出发送到屏幕

18

.打印字符串...

打印文字 STRING

19

.提示主要继续

替换标准提示

20

。辞职

退出 SQLite 提示符

21

.读取文件名

在FILENAME中执行SQL

22

.schema?表?

显示 CREATE 语句。如果指定了 TABLE,则仅显示与 LIKE 模式 TABLE 匹配的表

23

.分隔符 STRING

更改输出模式和.import 使用的分隔符

24

。展示

显示各种设置的当前值

25

.stats 开|关

打开或关闭统计

26

.tables?模式?

列出与 LIKE 模式匹配的表名称

27

.超时 MS

尝试打开锁定的表 MS 毫秒

28

.宽度 NUM NUM

设置“列”模式的列宽

29

.定时器开|关

打开或关闭 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
);