SQLITEデータベースファイルのバージョンを見つける方法


82

sqliteデータベースファイルがほとんどありません。データベースファイルのバージョン、つまりデータベースがsqlite2またはsqlite3またはその他のメイン/サブバージョン(sqliteライブラリまたはドライバーまたはuser_versionまたはschema_versionではない)で作成されたかどうかを知りたい。


3
以下の投票数の多い回答を回答としてマークする必要があります。
fmstrat 2014年

14
失礼ですが同意できません。OPは彼の質問に答えて彼を助けた答えを受け入れるべきです。多くの場合、それは最も人気のある答えではなく、時には最も人気のある答えが完全に間違っていることもあります。
Mawgは、2017

回答:


119

このコマンドは、sqliteバージョンを提供する任意のsqliteエクスプローラーで記述できます。

select sqlite_version();

49
これにより、データベースファイルのバージョンではなく、ライブラリのバージョンが返されます。
laalto 2014年

:コメント@laaltoこの公式ドキュメントで確認sqlite.org/lang_corefunc.html#sqlite_version
パオロFulgoni

実際、@ Paoloリンクの前述の関数はsqlite_source_id()を参照しており、SQLiteのリリース日を確認するだけで、バージョンを取得できます
olivierhoussin19年

4
この質問への答えではありませんが、私はGoogleの検索からここに来たこの...答えは
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
それが質問の唯一の正解です、どうもありがとう!
ジェローム・B

素朴な方法は、Notepad ++でファイルを開くことです(ファイルが大きい場合はこれを行わないでください!)
PaoloFulgoni19年

@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シェルを開いて、次の手順を実行する必要があります。

import sqlite3

sqlite3.sqlite_version

これにより、Pythonで使用されるsqlite3バージョンが提供されます。
JohnGo-Soco19年

一部のユーザーにとっては正しくないかもしれませんが、私の場合、Ubuntu 18.04でDjangoを使用した場合、実際に機能する唯一の方法であったことを指摘しておく必要があります。奇妙なことに、コマンドシェルで「sqlite3 --version」を試してみると、sqlite3がインストールされていないと主張しますが、python内で実行すると、django / pythonが使用しているバージョンがわかります。これが私が探していたものです。
rossdavidh

0

Visual Studioでデータベースにデータ接続している場合は、サーバーエクスプローラーでデータベースを右クリックし、プロパティを選択すると、プロパティウィンドウにバージョンが表示されます(驚くべきことに、[バージョン]の下)。最初にデータベースを左クリックして開く必要がある場合があります。


1
OPはsql-serverではなくsqliteについて質問していると思います。
クシティズシャルマ2013

0

私はこれがsqliteのバージョンを決定する最も簡単な方法であることがわかりました。Python IDLEシェルを実行してから、次の手順を実行します。

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

私の場合は2.6.0でした。これがお役に立てば幸いです...マーク


2
fyi、Python IDLEシェルを実行するにpythonは、ターミナルに入力するだけで、次のように表示されます>>>
thehme 2015

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ライブラリのバージョン番号。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.