DML (Data Manipulation Language) и DDL (Data Definition Language) – это подмножества SQL.
DDL (Data Definition Language) используется для определения (создания, изменения, удаления) структуры базы данных и ее объектов (таблиц, индексов, представлений и т.д.). Операции DDL не являются транзакционными и не могут быть отменены (ROLLBACK).
Основные команды DDL:
CREATE: Создание объектов базы данных.
sql
ALTER: Изменение структуры существующих объектов базы данных.
sql
DROP: Удаление объектов базы данных.
sql
TRUNCATE: Удаление всех строк из таблицы. Быстрее, чем DELETE, и не логируется построчно.
sql
RENAME: Переименование объекта базы данных.
sql
DML (Data Manipulation Language) используется для управления (вставки, обновления, удаления, выборки) данными, хранящимися в объектах базы данных. Операции DML являются транзакционными и могут быть отменены (ROLLBACK).
Основные команды DML:
SELECT: Выборка данных из одной или нескольких таблиц.
sql
INSERT: Вставка новых строк в таблицу.
sql
UPDATE: Изменение существующих данных в таблице.
sql
DELETE: Удаление строк из таблицы.
sql
Основные отличия:
| Характеристика | DDL (Data Definition Language) | DML (Data Manipulation Language) |
|---|---|---|
| Назначение | Определение/изменение структуры БД | Управление данными в БД |
| Отмена (ROLLBACK) | Нет возможности отменить | Есть возможность отменить |
| Влияние | Изменяет схему БД | Изменяет содержимое БД |
| Команды | CREATE, ALTER, DROP, TRUNCATE, RENAME | SELECT, INSERT, UPDATE, DELETE |
Понимание различий между DML и DDL важно для правильного проектирования и взаимодействия с базами данных, особенно в контексте управления транзакциями и прав доступа.