python sqlite
Мы создадим таблицу Cars и внесем несколько строк данных в неё.
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sqlite3 as lite
import sys
# Подключаемся к базе данных
con = lite.connect('test.db')
with con:
cur = con.cursor()
# Создаем таблицу
cur.execute("CREATE TABLE Cars(Id INT, Name TEXT, Price INT)")
# Вносим данные
cur.execute("INSERT INTO Cars VALUES(1, 'Audi', 52642)")
cur.execute("INSERT INTO Cars VALUES(2, 'Mercedes', 57127)")
cur.execute("INSERT INTO Cars VALUES(3, 'Skoda', 9000)")
cur.execute("INSERT INTO Cars VALUES(4, 'Volvo', 29000)")
cur.execute("INSERT INTO Cars VALUES(5, 'Bentley', 350000)")
cur.execute("INSERT INTO Cars VALUES(6, 'Citroen', 21000)")
cur.execute("INSERT INTO Cars VALUES(7, 'Hummer', 41400)")
cur.execute("INSERT INTO Cars VALUES(8, 'Volkswagen', 21600)")
Данный скрипт создаёт таблицу Cars и вставляет 8 строк в таблицу.
cur.execute("CREATE TABLE Cars(Id INT, Name TEXT, Price INT)")
Этот SQL-запрос создает новую таблицу Cars. Таблица имеет три столбца.
cur.execute("INSERT INTO Cars VALUES(1,'Audi',52642)")
cur.execute("INSERT INTO Cars VALUES(2,'Mercedes',57127)")
Согласно спецификации DB-API 2.0 после создания объекта соединения необходимо создать объект-курсор. Все дальнейшие запросы должны производиться через этот объект. Создание объекта-курсора производится с помощью метода cursor(). Для выполнения запроса к базе данных предназначены следующие методы объекта-курсора:
close() - закрывает объект-курсор
executescript(<Запросы SQL через точку с запятой>) - выполняет несколько SQL запросов за один раз. Если в процессе выполнения запросов возникает ошибка, то метод возбуждается исключение. В качестве примера создадим базу данных и три таблицы в ней:
# -*- coding: utf-8 -*-
import sqlite3
con = sqlite3.connect("catalog.db")
cur = con.cursor() # Создаем объект-курсор
sql = """\
CREATE TABLE user (
id_user INTEGER PRIMARY KEY AUTOINCREMENT,
email text,
passw text
);
CREATE TABLE rubr (
id_rubr INTEGER PRIMARY KEY AUTOINCREMENT,
name_rubr TEXT
);
CREATE TABLE site (
id_site INTEGER PRIMARY KEY AUTOINCREMENT,
is_user INTEGER,
id_rubr INTEGER,
url TEXT,
title TEXT,
iq INTEGER
);
"""
try: # обработка исключения
cur.executescript(sql) # Выполняем SQL-запрос
except sqlite.DatabaseError, err:
print u"Ошибка:", err
else:
print u"Запрос успешно выполнен"
cur.close() # Закрываем объект-курсора
con.close() # Закрываем соединение
raw_input()
Далее...