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;