本篇 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 這個定義就可以找到版本號碼了。
1 |
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 | printf("sqlite3_version: %s\n", sqlite3_version); |
Python 查詢 SQLite 版本
Python 查詢 SQLite 版本的方法如下,1
2
3
4
5import 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 bytes1
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