Описание
Язык SQL представляет собой совокупность
· операторов,
· инструкций,
· и вычисляемых функций.
Операторы
Согласно общепринятому стилю программирования, операторы (и другие зарезервированные слова) в SQL обычно рекомендуется писать прописными буквами.
Операторы SQL делятся на:
· операторы определения данных (Data Definition Language, DDL):
· CREATE создает объект БД (саму базу, таблицу, представление, пользователя и т. д.),
· ALTER изменяет объект,
· DROP удаляет объект;
· операторы манипуляции данными (Data Manipulation Language, DML):
· SELECT считывает данные, удовлетворяющие заданным условиям,
· INSERT добавляет новые данные,
· UPDATE изменяет существующие данные,
· DELETE удаляет данные;
· операторы определения доступа к данным (Data Control Language, DCL):
· GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом,
· REVOKE отзывает ранее выданные разрешения,
· DENY задает запрет, имеющий приоритет над разрешением;
· операторы управления транзакциями (Transaction Control Language, TCL):
· COMMIT применяет транзакцию,
· ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции,
· SAVEPOINT делит транзакцию на более мелкие участки.
Преимущества и недостатки
Преимущества
Независимость от конкретной СУБД
Несмотря на наличие диалектов и различий в синтаксисе, в большинстве своём тексты SQL-запросов, содержащие DDL и DML, могут быть достаточно легко перенесены из одной СУБД в другую. Существуют системы, разработчики которых изначально ориентировались на применение по меньшей мере нескольких СУБД (например: система электронного документооборота Documentum может работать как с Oracle Database, так и с Microsoft SQL Server и DB2). Естественно, что при применении некоторых специфичных для реализации возможностей такой переносимости добиться уже очень трудно.
Наличие стандартов
Наличие стандартов и набора тестов для выявления совместимости и соответствия конкретной реализации SQL общепринятому стандарту только способствует «стабилизации» языка. Правда, стоит обратить внимание, что сам по себе стандарт местами чересчур формализован и раздут в размерах (например, базовая часть стандарта SQL:2003 состоит из более чем 1300 страниц текста).