Простой Python. Современный стиль программирования (Любанович) - страница 133

TRUNCATE TABLE tbnameTRUNCATE TABLE t

Почему все пишется БОЛЬШИМИ БУКВАМИ? Язык SQL не зависит от регистра, но по традиции (не спрашивайте меня почему) ключевые слова ВЫКРИКИВАЮТСЯ, чтобы можно было отличить их от имен граф.

Основные операции DML реляционной базы данных можно запомнить с помощью акронима CRUD:

• Create — создание с помощью оператора SQL INSERT;

• Read — чтение с помощью SELECT;

• Update — обновление с помощью UPDATE;

• Delete — удаление с помощью DELETE.

В табл. 8.2 показаны команды, доступные SQL DML.


Таблица 8.2. Основные команды SQL DML
ОперацияШаблон SQLПример SQL
Добавление рядаINSERT INTO tbname VALUES(…)INSERT INTO t VALUES(7, 40)
Выборка всех рядов и графSELECT * FROM tbnameSELECT * FROM t
Выборка всех рядов и некоторых графSELECT cols FROM tbnameSELECT id, count FROM t
Выборка некоторых рядов и некоторых графSELECT cols FROM tbname WHERE conditionSELECT id, count from t WHERE count > 5 AND id = 9
Изменение некоторых рядов в графеUPDATE tbname SET col = value WHERE conditionUPDATE t SET count = 3 WHERE id = 5
Удаление некоторых рядовDELETE FROM tbname WHERE conditionDELETE FROM t WHERE count <= 10 OR id = 16

DB-API

Программный интерфейс приложения (Application Programming Interface, API) — это набор функций, которые вы можете вызвать, чтобы получить доступ к какой-либо услуге. DB-API (http://bit.ly/db-api) — это стандартный API в Python, предназначенный для получения доступа к реляционным базам данных. С его помощью вы можете написать одну программу, которая работает с несколькими видами реляционных баз данных, вместо того чтобы писать несколько программ для работы с каждым видом баз данных по отдельности. Этот API похож на JDBC в Java или dbi в Perl.

Рассмотрим его основные функции.

• connect() — создание соединения с базой данных. Этот вызов может включать в себя аргументы вроде имени пользователя, пароля, адреса сервера и пр.

• cursor() — создание объекта курсора, предназначенного для работы с запросами.

• execute() и executemany() — запуск одной или более команд SQL.

• fetchone(), fetchmany() и fetchall() — получение результатов работы функции execute.

Модули работы с базами данных в Python, которые будут рассмотрены в следующих разделах, соответствуют DB-API, часто имея некоторые расширения или разницу в деталях.

SQLite

SQLite (http://www.sqlite.org/) — это хорошая легковесная реляционная база данных с открытым исходным кодом. Она реализована как стандартная библиотека Python и хранит базы данных в обычных файлах. Эти файлы можно переносить на другие машины и в операционные системы, что делает SQLite очень портативным решением для создания простых реляционных баз данных. У нее не так много возможностей, как у MySQL или PostgreSQL, но она поддерживает SQL и позволяет нескольким пользователям работать с ней одновременно. Браузеры, смартфоны и другие операционные системы используют SQLite как встроенную базу данных.