SQLite 命令

2022-02-21 15:07 更新

SQLite 命令

本章將向您講解 SQLite 編程人員所使用的簡(jiǎn)單卻有用的命令。些命令被稱為 SQLite 的點(diǎn)命令,這些命令的不同之處在于它們不以分號(hào)(;)結(jié)束。

讓我們?cè)诿钐崾痉骆I入一個(gè)簡(jiǎn)單的 sqlite3 命令,在 SQLite 命令提示符下,您可以使用各種 SQLite 命令。

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

如需獲取可用的點(diǎn)命令的清單,可以在任何時(shí)候輸入 ".help"。例如:

sqlite>.help

上面的命令會(huì)顯示各種重要的 SQLite 點(diǎn)命令的列表,如下所示:

命令描述
.backup ?DB? FILE備份 DB 數(shù)據(jù)庫(kù)(默認(rèn)是 "main")到 FILE 文件。
.bail ON|OFF發(fā)生錯(cuò)誤后停止。默認(rèn)為 OFF。
.databases列出附加數(shù)據(jù)庫(kù)的名稱和文件。
.dump ?TABLE?以 SQL 文本格式轉(zhuǎn)儲(chǔ)數(shù)據(jù)庫(kù)。如果指定了 TABLE 表,則只轉(zhuǎn)儲(chǔ)匹配 LIKE 模式的 TABLE 表。
.echo ON|OFF開啟或關(guān)閉 echo 命令。
.exit退出 SQLite 提示符。
.explain ON|OFF開啟或關(guān)閉適合于 EXPLAIN 的輸出模式。如果沒(méi)有帶參數(shù),則為 EXPLAIN on,及開啟 EXPLAIN。
.header(s) ON|OFF開啟或關(guān)閉頭部顯示。
.help顯示消息。
.import FILE TABLE導(dǎo)入來(lái)自 FILE 文件的數(shù)據(jù)到 TABLE 表中。
.indices ?TABLE?顯示所有索引的名稱。如果指定了 TABLE 表,則只顯示匹配 LIKE 模式的 TABLE 表的索引。
.load FILE ?ENTRY?加載一個(gè)擴(kuò)展庫(kù)。
.log FILE|off開啟或關(guān)閉日志。FILE 文件可以是 stderr(標(biāo)準(zhǔn)錯(cuò)誤)/stdout(標(biāo)準(zhǔn)輸出)。
.mode MODE設(shè)置輸出模式,MODE 可以是下列之一:
  • csv 逗號(hào)分隔的值

  • column 左對(duì)齊的列

  • html HTML 的 <table> 代碼

  • insert TABLE 表的 SQL 插入(insert)語(yǔ)句

  • line 每行一個(gè)值

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

  • tabs 由 Tab 分隔的值

  • tcl TCL 列表元素

.nullvalue STRING在 NULL 值的地方輸出 STRING 字符串。
.output FILENAME發(fā)送輸出到 FILENAME 文件。
.output stdout發(fā)送輸出到屏幕。
.print STRING...逐字地輸出 STRING 字符串。
.prompt MAIN CONTINUE替換標(biāo)準(zhǔn)提示符。
.quit退出 SQLite 提示符。
.read FILENAME執(zhí)行 FILENAME 文件中的 SQL。
.schema ?TABLE?顯示 CREATE 語(yǔ)句。如果指定了 TABLE 表,則只顯示匹配 LIKE 模式的 TABLE 表。
.separator STRING改變輸出模式和 .import 所使用的分隔符。
.show顯示各種設(shè)置的當(dāng)前值。
.stats ON|OFF開啟或關(guān)閉統(tǒng)計(jì)。
.tables ?PATTERN?列出匹配 LIKE 模式的表的名稱。
.timeout MS嘗試打開鎖定的表 MS 微秒。
.width NUM NUM為 "column" 模式設(shè)置列寬度。
.timer ON|OFF 開啟或關(guān)閉 CPU 定時(shí)器測(cè)量。

讓我們嘗試使用 .show 命令,來(lái)查看 SQLite 命令提示符的默認(rèn)設(shè)置。

sqlite>.show
     echo: off
  explain: off
  headers: off
     mode: column
nullvalue: ""
   output: stdout
separator: "|"
    width:
sqlite>
確保 sqlite> 提示符與點(diǎn)命令之間沒(méi)有空格,否則將無(wú)法正常工作。

格式化輸出

您可以使用下列的點(diǎn)命令來(lái)格式化輸出為本教程下面所列出的格式:

sqlite>.header on
sqlite>.mode column
sqlite>.timer on
sqlite>

上面設(shè)置將產(chǎn)生如下格式的輸出:

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 表格

主表中保存數(shù)據(jù)庫(kù)表的關(guān)鍵信息,并把它命名為 sqlite_master。如要查看表概要,可按如下操作:

sqlite>.schema sqlite_master

這將產(chǎn)生如下結(jié)果:

CREATE TABLE sqlite_master (
  type text,
  name text,
  tbl_name text,
  rootpage integer,
  sql text
);
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)