6 種查詢 SQLite 版本的方法

本篇 ShengYu 介紹 6 種查詢 SQLite 版本的方法,分為這幾種方法,

  • sqlite3.h 標頭檔查詢 SQLite 版本
  • C 語言查詢 SQLite 版本
  • Python 查詢 SQLite 版本
  • SQL 語法查詢 SQLite 版本
  • Command 下指令查詢 SQLite 版本
  • 從 database 檔案本身查詢 SQLite 版本

sqlite3.h 標頭檔查詢 SQLite 版本

一種是從 sqlite3.h 標頭檔去看,在 sqlite3.h 搜尋 SQLITE_VERSION 這個定義就可以找到版本號碼了。

sqlite3.h
1
2
3
#define SQLITE_VERSION        "3.40.1"
#define SQLITE_VERSION_NUMBER 3040001
#define SQLITE_SOURCE_ID "2022-12-28 14:03:47 df5c253c0b3dd24916e4ec7cf77d3db5294cc9fd45ae7b9c5e82ad8197f38a24"

C 語言查詢 SQLite 版本

C 語言的話可呼叫 sqlite3_libversion() API, 有時候系統已經有安裝一份 SQLite 的標頭檔了,但是你想用下載的新版的 SQLite,可能會因為你設置不對造成程式跑去連結系統的那一份,這時用呼叫 sqlite3_libversion() API 來看 SQLite 版本就會比較準確知道你是使用哪一份 SQLite,

include sqlite3.h 標頭檔後,你可以直接印出 sqlite3_version 這個字串,也可以呼叫 sqlite3_libversion() 函式得到版本號碼,兩者是一樣的效果,因為 sqlite3_libversion() 內部實作就是回傳指向 sqlite3_version 的指標,

1
2
printf("sqlite3_version: %s\n", sqlite3_version);
printf("sqlite3_libversion: %s\n", sqlite3_libversion());

Python 查詢 SQLite 版本

Python 查詢 SQLite 版本的方法如下,

1
2
3
4
5
import sqlite3

sqlite3.sqlite_version
# OR
sqlite3.version

SQL 語法查詢 SQLite 版本

SQL 語法查詢

1
SELECT sqlite_version();

Command 下指令查詢 SQLite 版本

Command 下指令

1
$ sqlite3 --version

從 database 檔案本身查詢 SQLite 版本

你也可以從 database 檔案頭幾個 Magic Header 了解這個 database 是 sqlite 哪個版本,
sqlite2 ==> first 48 bytes
sqlite3 ==> first 16 bytes

1
2
$ head -c 48 file2.db # This file contains an SQLite 2.1 database
$ head -c 16 file3.db # SQLite format 3

更簡單的方法是用 file 指令來看這個 database 檔的資訊,

1
2
3
4
5
$ file file2.db
file2.db: SQLite 2.x database

$ file file3.db
file3.db: SQLite 3.x database

以上就是 6 種查詢 SQLite 版本的方法介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其它參考
How to find SQLITE database file version - Stack Overflow
https://stackoverflow.com/questions/9646353/how-to-find-sqlite-database-file-version