SQLite 命令
sqlite 命令
本章將介紹 sqlite 常用命令,這些命令被稱為 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 | 開(kāi)啟或關(guān)閉 echo 命令。 |
.exit | 退出 sqlite 提示符。 |
.explain on|off | 開(kāi)啟或關(guān)閉適合于 explain 的輸出模式。如果沒(méi)有帶參數(shù),則為 explain on,即開(kāi)啟 explain。 |
.header(s) on|off | 開(kāi)啟或關(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 | 開(kāi)啟或關(guān)閉日志。file 文件可以是 stderr(標(biāo)準(zhǔn)錯(cuò)誤)/stdout(標(biāo)準(zhǔn)輸出)。 |
.mode mode | 設(shè)置輸出模式,mode 可以是下列之一:
|
.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 | 開(kāi)啟或關(guān)閉統(tǒng)計(jì)。 |
.tables ?pattern? | 列出匹配 like 模式的表的名稱。 |
.timeout ms | 嘗試打開(kāi)鎖定的表 ms 毫秒。 |
.width num num | 為 "column" 模式設(shè)置列寬度。 |
.timer on|off | 開(kāi)啟或關(guān)閉 cpu 定時(shí)器。 |
讓我們嘗試使用 .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ú)法正常工作。
1. 格式化輸出
您可以使用下列的點(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
2. 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 );