SQLite学习手册(命令行工具)
| 命令名 | 命令說明 |
| .help | 列出所有內置命令。 |
| .backup DBNAME FILE | 備份指定的數據庫到指定的文件,缺省為當前連接的main數據庫。 |
| .databases | 列出當前連接中所有attached數據庫名和文件名。 |
| .dump TABLENAME ... | 以SQL文本的格式DUMP當前連接的main數據庫,如果指定了表名,則只是DUMP和表名匹配的數據表。參數TABLENAME支持LIKE表達式支持的通配符。 |
| .echo ON|OFF | 打開或關閉顯示輸出。 |
| .exit | 退出當前程序。 |
| .explain ON|OFF | 打開或關閉當前連接的SELECT輸出到Human Readable形式。 |
| .header(s) ON|OFF | 在顯示SELECT結果時,是否顯示列的標題。 |
| .import FILE TABLE | 導入指定文件的數據到指定表。 |
| .indices TABLENAME | 顯示所有索引的名字,如果指定表名,則僅僅顯示匹配該表名的數據表的索引,參數TABLENAME支持LIKE表達式支持的通配符。 |
| .log FILE|off? | 打開或關閉日志功能,FILE可以為標準輸出stdout,或標準錯誤輸出stderr。 |
| .mode MODE TABLENAME | 設置輸出模式,這里最為常用的模式是column模式,使SELECT輸出列左對齊顯示。 |
| .nullvalue STRING? | 使用指定的字符串代替NULL值的顯示。 |
| .output FILENAME? | 將當前命令的所有輸出重定向到指定的文件。 |
| .output stdout? | 將當前命令的所有輸出重定向到標準輸出(屏幕)。 |
| .quit? | 退出當前程序。? |
| .read FILENAME? | 執行指定文件內的SQL語句。 |
| .restore DBNAME FILE? | 從指定的文件還原數據庫,缺省為main數據庫,此時也可以指定其它數據庫名,被指定的數據庫成為當前連接的attached數據庫。 |
| .schema TABLENAME | 顯示數據表的創建語句,如果指定表名,則僅僅顯示匹配該表名的數據表創建語句,參數TABLENAME支持LIKE表達式支持的通配符。 |
| .separator STRING | 改變輸出模式和.import的字段間分隔符。 |
| .show | 顯示各種設置的當前值。 |
| .tables TABLENAME | 列出當前連接中main數據庫的所有表名,如果指定表名,則僅僅顯示匹配該表名的數據表名稱,參數TABLENAME支持LIKE表達式支持的通配符。 |
| .width NUM1 NUM2 ... | 在MODE為column時,設置各個字段的寬度,注意:該命令的參數順序表示字段輸出的順序。 |
???
??? 見如下常用示例:
??? 1). 備份和還原數據庫。
?? ?--在當前連接的main數據庫中創建一個數據表,之后再通過.backup命令將main數據庫備份到D:/mydb.db文件中。
?? ?sqlite> CREATE TABLE mytable (first_col integer);
?? ?sqlite> .backup 'D:/mydb.db'
?? ?sqlite> .exit
?? ?--通過在命令行窗口下執行sqlite3.exe以重新建立和SQLite的連接。
?? ?--從備份文件D:/mydb.db中恢復數據到當前連接的main數據庫中,再通過.tables命令可以看到mytable表。
?? ?sqlite> .restore 'D:/mydb.db'
?? ?sqlite> .tables
?? ?mytable
?? ?
?? ?2). DUMP數據表的創建語句到指定文件。
?? ?--先將命令行當前的輸出重定向到D:/myoutput.txt,之后在將之前創建的mytable表的聲明語句輸出到該文件。
?? ?sqlite> .output D:/myoutput.txt
?? ?sqlite> .dump mytabl%
?? ?sqlite> .exit
?? ?--在DOS環境下用記事本打開目標文件。
?? ?D:\>notepad myoutput.txt
?? ?
?? ?3). 顯示當前連接的所有Attached數據庫和main數據庫。
?? ?sqlite> ATTACH DATABASE 'D:/mydb.db' AS mydb;
?? ?sqlite> .databases
??? seq? name?????????????? file
?? ?---? ---------------? ------------------------
?? ?0??? main
?? ?2??? mydb??????????????? D:\mydb.db
?? ?
?? ?4). 顯示main數據庫中的所有數據表。
?? ?sqlite> .tables
?? ?mytable
?? ?
?? ?5). 顯示匹配表名mytabl%的數據表的所有索引。
?? ?sqlite> CREATE INDEX myindex on mytable(first_col);
?? ?sqlite> .indices mytabl%
?? ?myindex?? ??? ?
?? ?
?? ?6). 顯示匹配表名mytable%的數據表的Schema信息。
?? ?--依賴該表的索引信息也被輸出。
??? sqlite> .schema mytabl%
?? ?CREATE TABLE mytable (first_col integer);
?? ?CREATE INDEX myindex on mytable(first_col);
???
?? ?7). 格式化顯示SELECT的輸出信息。
?? ?--插入測試數據
?? ?sqlite> INSERT INTO mytable VALUES(1);
?? ?sqlite> INSERT INTO mytable VALUES(2);
?? ?sqlite> INSERT INTO mytable VALUES(3);?? ?
?? ?--請注意沒有任何設置時SELECT結果集的輸出格式。
?? ?sqlite> SELECT * FROM mytable;
?? ?1
?? ?2
?? ?3?? ?
?? ?--顯示SELECT結果集的列名。
?? ?--以列的形式顯示各個字段。
?? ?--將其后輸出的第一列顯示寬度設置為10.
?? ?sqlite> .header on
?? ?sqlite> .mode column
?? ?sqlite> .width 10
?? ?sqlite> SELECT * FROM mytable;
?? ?first_col
?? ?----------
?? ?1
?? ?2
?? ?3
總結
以上是生活随笔為你收集整理的SQLite学习手册(命令行工具)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux主机熵值过小,tomcat在l
- 下一篇: SQLite学习手册(在线备份)