Structured Query Language (SQL) - язык структурированных запросов, с помощью него пишутся специальные запросы (SQL инструкции) к базе данных с целью получения этих данных из базы и для манипулирования этими данными. Иными словами, язык SQL нужен для работы с базами данных.

С точки зрения реализации язык SQL представляет собой набор операторов, которые делятся на определенные группы и у каждой группы есть свое назначение. В сокращенном виде эти группы называются DDL, DML, DCL и TCL.

Таким образом, эти непонятные буквы представляют собой аббревиатуру названий групп операторов языка SQL.


Data Definition Language (DDL) - это группа операторов определения данных. Другими словами, с помощью операторов, входящих в эту группы, мы определяем структуру базы данных и работаем с объектами этой базы, т.е. создаем, изменяем и удаляем их.

В эту группу входят следующие операторы:

  • CREATE - используется для создания объектов базы данных;
  • ALTER - используется для изменения объектов базы данных;
  • DROP - используется для удаления объектов базы данных.

Data Manipulation Language (DML) - это группа операторов для манипуляции данными. С помощью этих операторов мы можем добавлять, изменять, удалять и выгружать данные из базы, т.е. манипулировать ими.

В эту группу входят самые распространённые операторы языка SQL:

  • SELECT - осуществляет выборку данных;
  • INSERT - добавляет новые данные;
  • UPDATE - изменяет существующие данные;
  • DELETE - удаляет данные.

Data Control Language (DCL) - группа операторов определения доступа к данным. Иными словами, это операторы для управления разрешениями, с помощью них мы можем разрешать или запрещать выполнение определенных операций над объектами базы данных.

Сюда входят:

  • GRANT - предоставляет пользователю или группе разрешения на определённые операции с объектом;
  • REVOKE - отзывает выданные разрешения;
  • DENY - задаёт запрет, имеющий приоритет над разрешением.

Transaction Control Language (TCL) - группа операторов для управления транзакциями. Транзакция - это команда или блок команд (инструкций), которые успешно завершаются как единое целое, при этом в базе данных все внесенные изменения фиксируются на постоянной основе или отменяются, т.е. все изменения, внесенные любой командой, входящей в транзакцию, будут отменены.

Группа операторов TCL предназначена как раз для реализации и управления транзакциями. Сюда можно отнести:

  • BEGIN TRANSACTION - служит для определения начала транзакции;
  • COMMIT TRANSACTION - применяет транзакцию;
  • ROLLBACK TRANSACTION - откатывает все изменения, сделанные в контексте текущей транзакции;
  • SAVE TRANSACTION - устанавливает промежуточную точку сохранения внутри транзакции.