
SQLite 於 2026 年 10 月 9 日發布 3.54.0 版本,官方在版本歷史頁列出這個版本的多項改動。[1]
命令列介面
官方列出的 CLI 改進包含:[1]
- CLI 提示字串可包含轉義序列以顯示狀態資訊;初始 CLI 提示會以
SQLITE_PS1與SQLITE_PS2環境變數的值初始化(如果這些變數存在) - 預設 CLI 提示經強化以利用上述新轉義序列
- 在行式輸出模式下,即使查詢沒有回傳任何資料列,CLI 現在會預設顯示欄標題
- 以新的
diskused()擴充實作.diskused命令,取代獨立的sqlite3_analyzer工具程式,後者現已棄用 - 在 unix 上,CLI 輸出未格式化的 BLOB 值時會保留零位元組
.mode命令新增--rowcount on與--titles always選項,其中--titles always現為預設行為,可用-titles on還原舊有行為.mode命令新增--ifmt與--fpfmt選項,可用 printf 風格的格式字串更精確控制整數與浮點值的顯示-csv命令列選項會自動停用顯示限制,以維持相容性- 預設 CLI 提示會遵循
NO_COLOR環境變數 - 以「只含
go或/的行」結束 SQL 命令的能力已停止支援(此功能分別為相容 SQL Server 與 Oracle),除非 CLI 以-DSQLITE_SHELL_LEGACY_COMMAND_TERMINATOR編譯
查詢規劃改善
官方指出,查詢規劃器有多項改進:[1]
- 對設有表達式索引的資料表執行 UPDATE 時,若索引的值沒有改變,就不會改動表達式索引
- 改善
expr OR TRUE與expr OR FALSE的最佳化 - 忽略 IN 運算子右側 SELECT 語句中的 DISTINCT
- 帶
LIMIT 1的 UNION 查詢現以更快、更少記憶體的方式處理
其他改動
官方指出,ALTER TABLE 命令在嘗試新增、刪除或重新命名名為 ROWID、_ROWID_ 或 OID 的欄位時會提錯誤;此外還新增可選擴充 diskused() SQL 函數。[1]
參考資料
[1] SQLite 官方 — Release History Of SQLite(3.54.0,2026 年 10 月 9 日)
[2] SQLite 官方網站