Для работы с SQLite в Python понадобится установленый пакет sqlite и python 2.5+.
# под Arch Linux sudo pacman -S sqlite # под Ubuntu sudo apt-get install sqlite
Проверка sqlite
$ sqlite3 test.db sqlite> .tables sqlite> .exit $ python >>> import sqlite3 >>> sqlite3.version
Ниже приведен пример, в котором мы создаем базу данных, вставляем данные и делаем выборку.
import sqlite3
con = sqlite3.connect('users.db')
cur = con.cursor()
cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, firstName VARCHAR(100), secondName VARCHAR(30))')
con.commit()
cur.execute('INSERT INTO users (id, firstName, secondName) VALUES(NULL, "Guido", "van Rossum")')
con.commit()
print cur.lastrowid
cur.execute('SELECT * FROM users')
print cur.fetchall()
con.close()
Порядок работы:
cur.execute('INSERT INTO users VALUES (null, ?, ?)', (firstName, secondName))
con.commit()
Выборка данных
Выборка нескольких строк с данными:
import sqlite3
con = sqlite3.connect('users.db')
cur = con.cursor()
cur.execute('SELECT * FROM names')
print cur.fetchall()
cur.execute('SELECT * FROM names')
for row in cur:
print '-'*10
print 'ID:', row[0]
print 'First name:', row[1]
print 'Second name:', row[2]
print '-'*10
con.close()
Выборка одной строки с данными:
import sqlite3
con = sqlite3.connect('users.db')
with con:
cur = con.cursor()
cur.execute('SELECT * FROM names')
data = cur.fetchone()
print data[0]
con.close()
Есть возможность выбрать заданное количество строк, передав желаемое значение в курсор:
cur.execute('SELECT * FROM names')
print cur.fetchmany(2)
Дополнительное чтиво