На какие основные группы делятся команды SQL?

«На какие основные группы делятся команды SQL?» — вопрос из категории Базы данных, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Команды SQL стандартно классифицируются на четыре группы по их назначению:

  1. DDL (Data Definition Language) — язык определения данных.

    • Назначение: Создание, изменение и удаление структуры объектов базы данных (таблиц, индексов, схем).
    • Ключевые команды: CREATE, ALTER, DROP, TRUNCATE.
    • Пример:
      CREATE TABLE Employees (
          id INT PRIMARY KEY,
          name VARCHAR(100) NOT NULL,
          department_id INT
      );
  2. DML (Data Manipulation Language) — язык управления данными.

    • Назначение: Операции с данными внутри таблиц: выборка, вставка, обновление, удаление.
    • Ключевые команды: SELECT, INSERT, UPDATE, DELETE.
    • Пример:
      INSERT INTO Employees (id, name) VALUES (1, 'Иван Петров');
  3. DCL (Data Control Language) — язык управления доступом.

    • Назначение: Управление правами и разрешениями пользователей и ролей.
    • Ключевые команды: GRANT (предоставить права), REVOKE (отозвать права).
  4. TCL (Transaction Control Language) — язык управления транзакциями.

    • Назначение: Управление логическими блоками операций (транзакциями).
    • Ключевые команды: COMMIT (зафиксировать изменения), ROLLBACK (откатить изменения), SAVEPOINT (установить точку сохранения).

Почему это важно? Понимание групп помогает правильно применять команды, управлять транзакциями и безопасно администрировать базу данных.