如何查找SQLITE数据库文件版本


82

我的sqlite数据库文件很少。我想知道数据库文件的版本,即是否使用sqlite2或sqlite3或任何其他主/子版本(不是sqlite库或驱动程序或user_version或schema_version)创建数据库。


3
您应在下面标记投票最高的答案作为答案。
Fmstrat 2014年

14
我不敢苟同。OP应该接受回答了他的问题并为他提供帮助的答案。很多时候,这不是最流行的答案,有时最流行的答案是完全错误的。
Mawg说恢复Monica

Answers:


119

您可以在任何会提供sqlite版本的sqlite资源管理器中编写此命令

select sqlite_version();

49
这将返回库版本,而不是数据库文件版本。
laalto 2014年

此官方文档已确认@laalto评论:sqlite.org/lang_corefunc.html#sqlite_version
Paolo Fulgoni

确实,@ Paolo链接中的前述函数引用了sqlite_source_id(),您只需查看SQLite的发布日期即可获得版本
olivier houssin,

4
虽然这不是一个问题的答案,我来到这里,从谷歌搜索了这个答案...
O0' 。

85

您可以通过以下命令获取数据库文件的版本号Magic Header String

  • sqlite2 ==>前48个字节
  • sqlite3 ==>前16个字节

$ 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

5
那是问题的唯一正确答案,非常感谢!
杰罗姆乙

天真的方法是使用Notepad ++打开文件(如果文件很大,则不要这样做!)
Paolo Fulgoni

@PaoloFulgoni XVI32也是执行这些任务的好工具。
尼尔斯·林德曼

21

获取user_version:运行sql: PRAGMA user_version;

获取schema_version: PRAGMA schema_version;

创建数据库文件(.db)时,可以由用户设置user_version。


18

sqlite程序版本3的正确答案是:

sqlite3 --version

2
这是sqlite3程序的版本,而不是SQLite创建的数据库的版本。
马特·陈


1

您必须打开python shell,然后编写以下步骤:

import sqlite3

sqlite3.sqlite_version

这为您提供了Python使用的sqlite3版本。
John Go-Soco

对于某些用户来说可能并不正确,但是我应该指出,就我而言,在Ubuntu 18.04上使用Django,实际上是唯一可行的方法。奇怪的是,在命令外壳上尝试“ sqlite3 --version”会声称未安装sqlite3,而在python内执行该操作则告诉我django / python使用的是哪个版本,这就是我想要的。
rossdavidh

0

如果在Visual Studio中与它建立了数据连接,则可以在Server Explorer中右键单击数据库,选择属性,然后版本将显示在属性窗口中(令人惊讶的是在Version下)。您可能需要先左键单击数据库以将其打开。


1
我认为OP正在询问sqlite而不是sql-server。
Kshitiz Sharma

0

我发现这是确定sqlite版本的最简单方法。运行Python IDLE Shell,然后执行以下操作:

>>> import sqlite3
>>> sqlite3.version
'2.6.0'

在我的情况下是2.6.0。希望这会有所帮助... Mark


2
仅供参考,运行Python的IDLE壳牌,只需键入python在终端上,你会再看看>>>
thehme

9
这给出了模块的版本,而不是SQLite版本。为此,请使用sqlite3.sqlite_versiondocs.python.org/3.5/library/...
贝特朗Bordage

0

检查手册文件

sqlite3.version此模块的版本号,以字符串形式。这不是SQLite库的版本。

sqlite3.version_info此模块的版本号,以整数元组形式。这不是SQLite库的版本。

sqlite3.sqlite_version运行时SQLite库的版本号,以字符串形式。

sqlite3.sqlite_version_info运行时SQLite库的版本号,以整数元组的形式。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.