我有几个SQLite数据库文件。我想知道数据库文件的版本(如果数据库是使用sqlite2或sqlite3或任何其他主/子版本创建的),而不是SQLite库或驱动程序或user_version或schema_version。
您可以在任何SQLite浏览器中编写此命令,该命令将提供SQLite版本
select sqlite_version();
你可以通过Magic Header String
获取数据库文件的版本号:
$ head -c 48 file2.db
** This file contains an SQLite 2.1 database **
$ head -c 16 file3.db
SQLite format 3
更简单的方法是使用file
命令:$ file file2.db
file2.db: SQLite 2.x database
$ file file3.db
file3.db: SQLite 3.x database
user_version
执行SQL语句:PRAGMA user_version;
schema_version
:执行SQL语句:PRAGMA schema_version;
创建数据库文件(.db
)时,可以由用户设置user_version
。
SQLite程序版本3的正确答案是:
sqlite3 --version
您需要打开Python shell,然后按照以下步骤编写:
import sqlite3
sqlite3.sqlite_version
import sqlite3
conn = sqlite3.connect('example.db')
cursor = conn.cursor()
cursor.execute('SELECT SQLITE_VERSION()')
data = cursor.fetchone()
print(f"SQLite version: {data[0]}")
检查手册文件
sqlite3.version 此模块的版本号,以字符串形式表示。这不是SQLite库的版本。
sqlite3.version_info 此模块的版本号,以整数元组的形式表示。这不是SQLite库的版本。
sqlite3.sqlite_version 运行时SQLite库的版本号,以字符串形式表示。
sqlite3.sqlite_version_info 运行时SQLite库的版本号,以整数元组的形式表示。
我发现这是确定sqlite版本最简单的方法。 运行Python IDLE Shell,然后执行以下操作:
>>> import sqlite3
>>> sqlite3.version
'2.6.0'
sqlite3.sqlite_version
。 https://docs.python.org/3.5/library/sqlite3.html#module-functions-and-constants - Bertrand Bordage