Описание

Язык 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 страниц текста).