點命令以 . 開頭,不需分號結束,僅影響互動模式顯示與匯入匯出行為。本文涵蓋分隔符、顯示模式、標題、欄寬、NULL 顯示、配置檔持久化六大類。
.separator STRING
-- 預設 '|'
.separator , -- CSV 模式
.separator \t -- TSV 模式
| 模式 | 輸出格式 | 適用場景 |
|---|---|---|
| list | 分隔符分隔 (預設) | 快速瀏覽 |
| column | 欄對齊 (需配合 .width) | 人工閱讀 |
| csv | 標準 CSV (含引號逸出) | 匯出給 Excel/程式 |
| tabs | Tab 分隔 | 貼上試算表 |
| html | <table> 標籤 | 網頁嵌入 |
| insert | INSERT 陳述式 | 腳本產生 |
| line | 每值一行 (欄位: 值) | 單筆詳細檢視 |
| tcl | TCL 列表格式 | TCL 腳本 |
.headers on -- 顯示欄位名
.headers off -- 隱藏 (預設)
.width 10 20 15 -- 指定各欄寬度
.width -10 20 -- 負數 = 右對齊
.nullvalue NULL -- 顯示 'NULL' 字串
.nullvalue (null) -- 自訂格式
-- 預設空白 (極易誤判為空字串)
.show
-- 輸出範例:
-- echo: off
-- explain: off
-- headers: off
-- mode: list
-- nullvalue: ""
-- output: stdout
-- separator: "|"
-- stats: off
-- width:
將上述設定寫入檔案,每次啟動自動套用:
~/.sqlitercC:\sqlite\sqliterc),需設定環境變數 SQLITE_INIT 指向該檔案。# 範例 .sqliterc 內容
.headers on
.mode column
.width 10 20 15 30
.nullvalue NULL
.separator ,
-- 現在每次 sqlite3 直接進入美觀模式
.mode csv
.headers on
.output users.csv
SELECT * FROM users;
.output stdout
| 需求 | 命令組合 |
|---|---|
| 人工閱讀對齊 | .mode column; .headers on; .width 10 20 15; .nullvalue NULL |
| 匯出標準 CSV | .mode csv; .headers on; .output file.csv |
| 產生 INSERT 腳本 | .mode insert target_table; .output script.sql |
| 永久生效 | 寫入 .sqliterc (Linux) / 設定 SQLITE_INIT (Windows) |
熟練這些點命令,CLI 下查詢、匯出、除錯效率將成倍提升。