Все команды языка SQL можно разделить на 5 категорий:
· команды для создания и изменения структуры объектов базы данных (Data Definition Language, DDL);
· команды манипулирования данными (Data Manipulation Language, DML);
· язык запросов (Data Query Language, DQL);
· команды управления данными (Data Control Language, DCL);
· команды управления транзакциями (Transaction Control Language, TCL).
Язык DDL, содержащий команды для создания и изменения структуры объектов базы данных, включает следующие основные команды:
· CREATE TABLE – создать таблицу
· ALTER TABLE – изменить таблицу
· DROP TABLE – удалить таблицу
· CREATE INDEX – создать индекс
· ALTER INDEX – изменить индекс
· DROP INDEX – удалить индекс
Язык DDL, содержащий команды для манипулирования данными, включает следующие основные команды:
· INSERT – добавить строки в таблицу
· UPDATE – изменить строки в таблице
· DELETE – удалить строки в таблице
Язык запросов DQL включает только одну команду SELECT.
Язык DCL управления данными позволяют управлять уровнями доступа к данным. Основные команды:
· GRANT – предоставить привилегии пользователю или приложению
· REVOKE – отменить привилегии пользователя или приложения
Язык TCL управления транзакциями включает следующие основные команды:
· SET TRANSACTION – начинает транзакцию и устанавливает ее базовые характеристики.
· COMMIT – заканчивает текущую транзакцию сохранением изменений в базе данных и начинает новую транзакцию
· ROLLBACK – заканчивает текущую транзакцию отменой изменений в базе данных и начинает новую транзакцию
· SAVEPOINT – устанавливает контрольные точки (точки прерывания) для транзакции, разрешая неполный откат.
Отметим, что транзакцией называется последовательность действий, направленных на достижение некоторой цели. Причем эта последовательность должна быть выполнена полностью или не выполнена вообще.
Наличие команды SAVEPOINT позволяет разрешить частичное выполнение сложной транзакции, если это необходимо.