TRUNCATE TABLE tbname | TRUNCATE 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 tbname | SELECT * FROM t |
Выборка всех рядов и некоторых граф | SELECT cols FROM tbname | SELECT id, count FROM t |
Выборка некоторых рядов и некоторых граф | SELECT cols FROM tbname WHERE condition | SELECT id, count from t WHERE count > 5 AND id = 9 |
Изменение некоторых рядов в графе | UPDATE tbname SET col = value WHERE condition | UPDATE t SET count = 3 WHERE id = 5 |
Удаление некоторых рядов | DELETE FROM tbname WHERE condition | DELETE FROM t WHERE count <= 10 OR id = 16 |
Программный интерфейс приложения (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 (http://www.sqlite.org/) — это хорошая легковесная реляционная база данных с открытым исходным кодом. Она реализована как стандартная библиотека Python и хранит базы данных в обычных файлах. Эти файлы можно переносить на другие машины и в операционные системы, что делает SQLite очень портативным решением для создания простых реляционных баз данных. У нее не так много возможностей, как у MySQL или PostgreSQL, но она поддерживает SQL и позволяет нескольким пользователям работать с ней одновременно. Браузеры, смартфоны и другие операционные системы используют SQLite как встроенную базу данных.