Python і sqlite айті бубон

Як дізнатися версію движка sqlite в якому ця база була створена?

Є база даних (файл) sqlite (наприклад файл БД називається sqlitest). Як дізнатися версію движка sqlite в якому ця база була створена?

У перших 16 байтах написана версія БД. В цьому випадку версії 3.

P.S. Молодші номера версій і вже тим більше номера білдів на структуру файлу бази не впливають.

Значення констант БД SQlite

apilevel = 2.0 - sqlite підтримує DB-API 2.0

paramstyle - тип використовуваних позначок при підстановці параметрів. Можливі такі значення цієї константи:

format форматування в стилі мови ANSI C (наприклад, # '% S #', # '% I #')

pyformat використання іменованих специфікаторів формату в стилі Python (# '% (item) s #')

qmark використання знаків # '? #' Для позначки місць підстановки параметрів

numeric використання номерів позицій (# ': 1 #')

named використання імен підставляється параметрів (# ': name #')

threadsafety - целочисленная константа, що описує можливості модуля при використанні потоків управління:

У загальному випадку послідовність роботи з БД виглядає так:

Значні відмінності між SQLite і іншими базами даних знаходяться в самому двигуні. На відміну від інших БД в SQLite немає прив'язки до типів; всі дані зберігаються як рядки закінчуються символом NULL, що краще, ніж двійкове подання даних в стовпчиках спеціального типу. Унаслідок сумісності SQLite підтримує тип специфікації в конструкціях CREATE TABLE, наприклад, такий як INT, CHAR, FLOAT, TEXT і тому подібні, але реально їх не використовує. Усередині БД, SQLite тільки робить відмінність між строковими і цілочисельними даними під час сортування. Тому, якщо ви не збираєтеся сортувати дані, ви можете обійтися без вказівки спеціального типу полів при створенні таблиць в SQLite.

"Безтіповая природа" SQLite робить сортування і зіставлення даних в деякому роді повільніше, так як кожен раз SQLite буде змушена визначати тип даних і застосовувати або строковий механізм сортування / порівняння або числовий. SQL таблиці часто вимагають автоматично присвоюється ключ для швидкого доступу до осередків, маючи на увазі повернення посилання на останню додану осередок. Для SQLite цей синтаксис, м'яко кажучи, не потрібен. Щоб створити таку таблицю, вам знадобиться оголосити поле як INTEGER PRIMARY KEY, що більш зручно, ніж вказівку спеціалізованого типу або привласнення додаткових властивостей, які вказують на те, що поле є Автоінкрементний.

Приклад: створення БД SQLite

У випадку з SQLite піклуватися про створення бази даних не потрібно, файл буде створено автоматично. Для інших баз даних необхідно перед цим створити базу даних, наприклад, SQL-інструкції CREATE DATABASE).

Створення з командного рядка. Нехай у нас є файл dbcreate164.sql, що містить текст:

Тоді БД testbdsqlite.db можна створити з командного рядка, такою командою

Створення БД test.db через CLI SQLite

Створення з Python