мета-данные страницы
Это старая версия документа!
Мотивация
При всех достоинствах Python DB API 2.0, он многословен. С одной стороны, возможно, это связано с API библиотек, работы с БД, возможно с источником вдохновения, возможно с привычками. Однако для работы с такими легковесными СУБД как SQLite, особого пафоса в вызовах не хочется, но очень хочется большей простоты.
Данный инструмент пытается её дать.
Классы
| Имя | Описание |
|---|---|
DB | Объект подключения к БД |
DBError | Объект исключений при работе с БД |
IntegrityError | Отдельно проброшенный класс, отвечающий за проверки целостности на стороне СУБД. Дабы иметь возможность адекватно реагировать на неуникальные значения или иные попытки нарушить целостность данных в БД |
DB
Для создания подключения нужно дать выполнить:
DB(db_file)
| Параметр | Тип | Описание |
|---|---|---|
db_file | str | Имя файла БД либо строка :memory:, если нет необходимости в хранении данных, и они будут жить только в ОЗУ |
Выполнение запроса
Для выполнения запроса достаточно передать его в качестве параметра при вызове объекта подключения.
memdb = DB(':memory:') for rowid, txt in memdb('SELECT rowid, txt FROM t'): print(id, txt)
Возвращает функция объект курсора (в терминах DB API), в котором уже исполнен запрос, и из которого можно получить запрошенные данные. Работа с этим курсором описана в документации
Параметры также даны в соответствующем разделе документации. Они пробрасываются непосредственно в execute
cq()
Версия Выполнение_запроса только перед выдачей курсора на объекте соединения (в терминах DB API 2.0) исполняется метод commit(). В случае возбуждения исключения немедленно исполняется rollback() и исключение пробрасывается в вызывающую метод процедуру.
commit()
См. ОДо. Метод берётся как есть.
rollback()
См. ОДо. Метод берётся как есть.