Что вы знаете о DML и DDL?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
DML (Data Manipulation Language) и DDL (Data Definition Language) – это подмножества SQL.
DDL (Data Definition Language) используется для определения (создания, изменения, удаления) структуры базы данных и ее объектов (таблиц, индексов, представлений и т.д.). Операции DDL не являются транзакционными и не могут быть отменены (ROLLBACK).
Основные команды DDL:
CREATE: Создание объектов базы данных.-- Создание таблицы users CREATE TABLE users ( id INT PRIMARY KEY, // Первичный ключ username VARCHAR(50) UNIQUE, // Уникальное имя пользователя email VARCHAR(100) );ALTER: Изменение структуры существующих объектов базы данных.-- Добавление столбца last_login к таблице users ALTER TABLE users ADD last_login TIMESTAMP;DROP: Удаление объектов базы данных.-- Удаление таблицы users DROP TABLE users;TRUNCATE: Удаление всех строк из таблицы. Быстрее, чем DELETE, и не логируется построчно.-- Удаление всех строк из таблицы users TRUNCATE TABLE users;RENAME: Переименование объекта базы данных.-- Переименование таблицы users в app_users RENAME TABLE users TO app_users;
DML (Data Manipulation Language) используется для управления (вставки, обновления, удаления, выборки) данными, хранящимися в объектах базы данных. Операции DML являются транзакционными и могут быть отменены (ROLLBACK).
Основные команды DML:
SELECT: Выборка данных из одной или нескольких таблиц.-- Выборка всех пользователей SELECT * FROM users; -- Выборка пользователя по id SELECT username, email FROM users WHERE id = 1;INSERT: Вставка новых строк в таблицу.-- Вставка нового пользователя INSERT INTO users (id, username, email) VALUES (1, 'john_doe', 'john@example.com');UPDATE: Изменение существующих данных в таблице.-- Обновление email пользователя с id = 1 UPDATE users SET email = 'john.doe@newdomain.com' WHERE id = 1;DELETE: Удаление строк из таблицы.-- Удаление пользователя с id = 1 DELETE FROM users WHERE id = 1;
Основные отличия:
| Характеристика | DDL (Data Definition Language) | DML (Data Manipulation Language) |
|---|---|---|
| Назначение | Определение/изменение структуры БД | Управление данными в БД |
| Отмена (ROLLBACK) | Нет возможности отменить | Есть возможность отменить |
| Влияние | Изменяет схему БД | Изменяет содержимое БД |
| Команды | CREATE, ALTER, DROP, TRUNCATE, RENAME | SELECT, INSERT, UPDATE, DELETE |
Понимание различий между DML и DDL важно для правильного проектирования и взаимодействия с базами данных, особенно в контексте управления транзакциями и прав доступа.