SQLite 命令
本章將介紹 SQLite 編程人員所使用的簡單而有用的命令。這些命令被稱為SQLite 的點命令,這些命令的異常並是,他們不被終止分號(;)。
讓我們開始鍵入一個簡單的 sqlite3 命令在命令提示符下,將提供 SQLite 的命令提示符,會發出各種SQLite 命令。
$sqlite3 SQLite version 3.3.6 Enter ".help" for instructions sqlite>
可用的點命令的清單,可以在任何時間".help" 進入。例如:
sqlite>.help
上麵的命令會顯示一個列表,各種重要的 SQLite 點命令,如下:
命令 | 描述 |
---|---|
.backup ?DB? FILE | Backup DB (default "main") to FILE |
.bail ON|OFF | Stop after hitting an error. Default OFF |
.databases | List names and files of attached databases |
.dump ?TABLE? | Dump the database in an SQL text format. If TABLE specified, only dump tables matching LIKE pattern TABLE. |
.echo ON|OFF | Turn command echo on or off |
.exit | Exit SQLite prompt |
.explain ON|OFF | Turn output mode suitable for EXPLAIN on or off. With no args, it turns EXPLAIN on. |
.header(s) ON|OFF | Turn display of headers on or off |
.help | Show this message |
.import FILE TABLE | Import data from FILE into TABLE |
.indices ?TABLE? | Show names of all indices. If TABLE specified, only show indices for tables matching LIKE pattern TABLE. |
.load FILE ?ENTRY? | Load an extension library |
.log FILE|off | Turn logging on or off. FILE can be stderr/stdout |
.mode MODE |
Set output mode where MODE is one of:
|
.nullvalue STRING | Print STRING in place of NULL values |
.output FILENAME | Send output to FILENAME |
.output stdout | Send output to the screen |
.print STRING... | Print literal STRING |
.prompt MAIN CONTINUE | Replace the standard prompts |
.quit | Exit SQLite prompt |
.read FILENAME | Execute SQL in FILENAME |
.schema ?TABLE? | Show the CREATE statements. If TABLE specified, only show tables matching LIKE pattern TABLE. |
.separator STRING | Change separator used by output mode and .import |
.show | Show the current values for various settings |
.stats ON|OFF | Turn stats on or off |
.tables ?PATTERN? | List names of tables matching a LIKE pattern |
.timeout MS | Try opening locked tables for MS milliseconds |
.width NUM NUM | Set column widths for "column" mode |
.timer ON|OFF | Turn the CPU timer measurement on or off |
讓我們嘗試 .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 );