Можно выбрать список таблиц и схемы путем запросов таблицы SQLITE_MASTER:
sqlite> .tab
job snmptarget t1 t2 t3
sqlite> select name from sqlite_master where type = 'table';
job
t1
t2
snmptarget
t3
sqlite> .schema job
CREATE TABLE job (
id INTEGER PRIMARY KEY,
data VARCHAR
);
sqlite> select sql from sqlite_master where type = 'table' and name = 'job';
CREATE TABLE job (
id INTEGER PRIMARY KEY,
data VARCHAR
)
Я не знаком с API Python, но можно всегда использовать
SELECT * FROM sqlite_master;
Выезд здесь для дампа. Кажется, что существует функция дампа в библиотеке sqlite3.
По-видимому, версия sqlite3, включенного в Python 2.6, имеет эту способность: http://docs.python.org/dev/library/sqlite3.html
# Convert file existing_db.db to SQL dump file dump.sql
import sqlite3, os
con = sqlite3.connect('existing_db.db')
with open('dump.sql', 'w') as f:
for line in con.iterdump():
f.write('%s\n' % line)