SQL-команды классифицируются по функциональным группам, каждая из которых предназначена для выполнения определенных операций с базами данных. Основные группы SQL-команд:
- DDL (Data Definition Language) — язык определения данных.
- DML (Data Manipulation Language) — язык манипуляции данными.
- DCL (Data Control Language) — язык управления доступом.
- TCL (Transaction Control Language) — язык управления транзакциями.
DDL (Data Definition Language)
DDL-команды используются для создания, изменения и удаления объектов базы данных, таких как таблицы и индексы. Эти команды изменяют структуру базы и автоматически фиксируются (commit), поэтому их нельзя откатить (rollback).
Основные команды DDL:
CREATE
— создание объектов базы данных.ALTER
— изменение структуры существующих объектов.DROP
— удаление объектов.TRUNCATE
— очистка таблицы без фиксации изменений.
Пример создания таблицы
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100) UNIQUE
);
DML (Data Manipulation Language)
DML-команды используются для работы с данными в таблицах: их добавления, изменения и удаления. В отличие от DDL, изменения, выполненные DML-командами, можно откатить.
Основные команды DML:
INSERT
— добавление данных.UPDATE
— обновление записей.DELETE
— удаление данных.SELECT
— выборка данных.
Пример вставки данных
INSERT INTO users (id, name, email) VALUES (1, 'Иван', 'ivan@example.com');
DCL (Data Control Language)
DCL-команды управляют правами доступа пользователей к объектам базы данных.
Основные команды DCL:
GRANT
— предоставление прав.REVOKE
— отзыв прав.
Пример предоставления прав
GRANT SELECT, INSERT ON users TO some_user;
TCL (Transaction Control Language)
TCL-команды управляют транзакциями, обеспечивая атомарность операций.
Основные команды TCL:
COMMIT
— фиксирует изменения.ROLLBACK
— отменяет изменения.SAVEPOINT
— создаёт точку сохранения внутри транзакции.
Пример работы с транзакцией
BEGIN;
UPDATE users SET email = 'new@example.com' WHERE id = 1;
ROLLBACK;