Як знайти версію файлу бази даних SQLITE


82

У мене є кілька файлів бази даних sqlite. Я хочу знати версію файлу бази даних, тобто якщо база даних була створена за допомогою sqlite2 або sqlite3 або будь-якої іншої основної / допоміжної версії (не бібліотеки sqlite або драйвера, або user_version, або schema_version).


3
Ви повинні позначити відповідь з найбільшою кількістю голосів нижче як відповідь.
Fmstrat

14
Дозволю собі не погодитися. ОП повинен прийняти відповідь, яка відповіла на його запитання та допомогла йому. Занадто часто це не найпопулярніша відповідь, і часом найпопулярніша відповідь абсолютно невірна.
Моуг каже відновити Моніку

Відповіді:


122

Ви можете написати цю команду в будь-якому провіднику sqlite, який надасть версію sqlite

select sqlite_version();

50
Це поверне версію бібліотеки, а не версію файлу бази даних.
laalto

Коментар @laalto підтверджений цим офіційним документом: sqlite.org/lang_corefunc.html#sqlite_version
Паоло Фульгоні,

Дійсно, попередня функція у посиланні @Paolo посилається на sqlite_source_id (), при цьому вам просто потрібно побачити дату випуску SQLite, і ви можете отримати версію
Олів'є Хоссін

4
Хоча це не відповідь на питання, я прийшов сюди з Google, шукаючи цю відповідь ...
o0 '.

87

Ви можете отримати номер версії файлу бази даних за допомогою 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
Це єдина правильна відповідь на запитання, велике спасибі!
Jérôme B

Наївний спосіб - відкрити файл за допомогою Notepad ++ (не робіть цього, якщо файл великий!)
Паоло Фульгоні

@PaoloFulgoni XVI32 також є приємним інструментом для цих завдань.
Nils Lindemann

22

Отримати user_version: запустити sql: PRAGMA user_version;

Отримати schema_version: PRAGMA schema_version;

При створенні файлу бази даних (.db), user_version може бути встановлений користувачем.


19

Правильна відповідь із версії 3 програми sqlite:

sqlite3 --version

2
Це версія програми sqlite3, а не версія бази даних, створеної SQLite.
Метт Чан,


1

Я виявив, що це найпростіший спосіб визначити версію sqlite. Запустіть оболонку Python IDLE, а потім виконайте наступне:

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

У моєму випадку це було 2.6.0. Сподіваюся, це допомагає ... Марк


2
fyi, щоб запустити оболонку Python IDLE, просто введіть у pythonтерміналі, тоді ви побачите>>>
thehme

9
Це дає версію модуля, а не версію SQLite. Для цього використовуйте sqlite3.sqlite_version. docs.python.org/3.5/library/…
Бертран Бордж

1

Вам потрібно відкрити оболонку python, а потім написати такі кроки:

import sqlite3

sqlite3.sqlite_version

Це дає вам версію sqlite3, яку використовує Python.
Джон Го-Соко,

Можливо, це не коректно для деяких користувачів, але я повинен зазначити, що в моєму випадку, використовуючи Django на Ubuntu 18.04, це насправді був єдиним способом, який працював. Спроба "sqlite3 --version" у командній оболонці, як не дивно, стверджувала б, що sqlite3 не був встановлений, тоді як робити це всередині python повідомило мені, яку версію використовував django / python, саме це я і шукав.
rossdavidh

0

Якщо у вас є з’єднання даних із ним у Visual Studio, ви можете клацнути правою кнопкою миші на базі даних у Провіднику серверів, вибрати властивості, і версія з’явиться у вікні властивостей (у розділі Версія, напрочуд). Можливо, вам доведеться спочатку клацнути лівою клавішею миші на базі даних, щоб відкрити її.


1
Я думаю, що OP запитує про sqlite, а не про sql-сервер.
Kshitiz Sharma

0

Перевірте файл вручну

sqlite3.version Номер версії цього модуля у вигляді рядка. Це не версія бібліотеки SQLite.

sqlite3.version_info Номер версії цього модуля як набір цілих чисел. Це не версія бібліотеки SQLite.

sqlite3.sqlite_version Номер версії бібліотеки SQLite під час виконання у вигляді рядка.

sqlite3.sqlite_version_info Номер версії бібліотеки SQLite під час виконання у вигляді набору цілих чисел.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.