SQLite 命令



本章將引導您學習 SQLite 程式設計師使用的簡單而有用的命令。這些命令稱為 SQLite 點命令,這些命令的例外情況是它們不應以分號 (;) 結尾。

讓我們從在命令提示符下鍵入簡單的 sqlite3 命令開始,這將為您提供 SQLite 命令提示符,您可以在其中發出各種 SQLite 命令。

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

要列出可用的點命令,您可以隨時輸入“.help”。例如:

sqlite>.help

上述命令將顯示各種重要的 SQLite 點命令列表,這些命令列在下面的表格中。

序號 命令及描述
1

.backup ?資料庫? 檔案

將資料庫(預設為“main”)備份到檔案

2

.bail ON|OFF

遇到錯誤後停止。預設為 OFF

3

.databases

列出已附加資料庫的名稱和檔案

4

.dump ?表?

以 SQL 文字格式轉儲資料庫。如果指定了表,則只轉儲與 LIKE 模式表匹配的表

5

.echo ON|OFF

開啟或關閉命令回顯

6

.exit

退出 SQLite 提示符

7

.explain ON|OFF

開啟或關閉適合 EXPLAIN 的輸出模式。無引數時,它會開啟 EXPLAIN

8

.header(s) ON|OFF

開啟或關閉標題的顯示

9

.help

顯示此訊息

10

.import 檔案 表

將資料從檔案匯入表

11

.indices ?表?

顯示所有索引的名稱。如果指定了表,則只顯示與 LIKE 模式表匹配的表的索引

12

.load 檔案 ?入口?

載入擴充套件庫

13

.log 檔案|off

開啟或關閉日誌記錄。檔案可以是 stderr/stdout

14

.mode 模式

設定輸出模式,其中模式是以下之一:

  • csv - 逗號分隔值

  • column - 左對齊列。

  • html - HTML <table> 程式碼

  • insert - 表的 SQL 插入語句

  • line - 每行一個值

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

  • tabs - 製表符分隔的值

  • tcl - TCL 列表元素

15

.nullvalue 字串

列印字串以代替 NULL 值

16

.output 檔名

將輸出傳送到檔名

17

.output stdout

將輸出傳送到螢幕

18

.print 字串...

列印文字字串

19

.prompt 主 繼續

替換標準提示

20

.quit

退出 SQLite 提示符

21

.read 檔名

執行檔名中的 SQL

22

.schema ?表?

顯示 CREATE 語句。如果指定了表,則只顯示與 LIKE 模式表匹配的表

23

.separator 字串

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

24

.show

顯示各種設定的當前值

25

.stats ON|OFF

開啟或關閉統計資訊

26

.tables ?模式?

列出與 LIKE 模式匹配的表的名稱

27

.timeout 毫秒

嘗試開啟被鎖定的表,持續時間為毫秒毫秒

28

.width 數字 數字

為“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
);
廣告