Чтобы использовать модуль sqlite3, необходимо сначала создать объект Connection, который представляет базу данных. Например, данные будут храниться в файле /tmp/example:
conn = sqlite3.connect('/tmp/example')
Если имя файла указано как ":memory:", будет создана база данных в оперативной памяти.
Когда есть объект Connection, его методом cursor() можно создать объект Cursor и затем вызвать его метод execute(), чтобы выполнить команду (запрос) SQL, например, чтобы создать таблицу и заполнить её данными. Изменения сохраняются методом commit() объекта Connection, а объект Cursor закрывается его методом close().
Для подстановки значений в текст запросов следует использовать специально подготовленные кортежи значений и второй параметр метода execute(), а также знаки "?" в тексте самих запросов, например:
for t in (('1', 'first', '2006-03-28'),
('2', 'second', '2007-03-28'),
):
c.execute('insert into stocks values (?,?,?)', t)
Для разбора значений, полученных в результате выполнения запроса SELECT, можно использовать цикл for, работая с объектом Cursor как с обычным iterable-объектом.
Используя некоторые методы объекта Connection, можно не создавать объекты Cursor явно, делая код более кратким.
Пример:
# -*- coding: utf-8 -*-
import codecs, sys
outf = codecs.getwriter('cp866')(sys.stdout, errors='replace')
sys.stdout = outf
import sqlite3
conn = sqlite3.connect('mydb') # создаст файл, если его нет
conn.execute("create table if not exists person(firstname, spots)") # создаст таблицу, если её нет
data = [(u'Иван', 10), (u'Марья', 20)] # данные для записи в базу данных
conn.executemany("insert into person(firstname, spots) values (?, ?)", data) # запись в базу данных
conn.commit() # сохранение изменений в базе данных
conn.close() # закрытие базы данных
conn = sqlite3.connect('mydb') # открытие базы данных
for row in conn.execute("select * from person"): # обычный запрос
print row[0], row[1]
print '==='
conn.row_factory = sqlite3.Row # создание фабрики строк
cur = conn.cursor() # создание курсора
cur.execute("select * from person")
for row in cur:
print row['firstname'], row[1]
conn.close() # закрытие базы данных
Материал взят с сайта : http://forum.script-coding.com/viewtopic.php?id=2532