CRUD-операции и язык манипуляции данными (DML)
Разработчику
Аналитику
Тестировщику
Архитектору
Инженеру
CRUD и DML
Что такое CRUD и DML?
★ DML (Data Manipulation Language) в отличие от DDL, выполняет работу не со структурой БД, а непосредственно с данными. В DML SQL оперирует четырьмя главными действиями, известными как CRUD:
- ★ Create – создание;
- ★ Read – чтение;
- ★ Update – обновление;
- ★ Delete – удаление.
Возьмём для примера таблицу users:
| id | name | age | |
|---|---|---|---|
| 1 | Том | 25 | tom@mail.com |
| 2 | Артур | 30 | arthur@mail.com |
CREATE
★ CREATE: Добавление данных.
Добавление данных выполняется путём добавления записи в таблицу, через команду INSERT – нужно указать «INSERT INTO»
INSERT INTO table_name (column1, column2)
VALUES (value1, value2);
Шаблон построения:
INSERT INTO Куда? (Колонки)
VALUES (Значения);
Пример:
INSERT INTO users (name, age, email)
VALUES ('Мария', 22, 'maria@yandex.ru');
В итоге мы получим новую строку:
| id | name | age | |
|---|---|---|---|
| 1 | Том | 25 | tom@mail.com |
| 2 | Артур | 30 | arthur@mail.com |
| 3 | Мария | 22 | maria@yandex.ru |
INSERT INTO <таблица> (<столбец_1>, <столбец_2>, ..., <столбец_n>)
VALUES (<значение_1>, <значение_2>, ..., <значение_n>);
<таблица>— имя целевой таблицы.<столбец_i>— имя колонки, в которую записывается значение.<значение_i>— литерал, соответствующий типу данных столбца.
Альтернативный вариант (для всех столбцов в порядке их определения):
INSERT INTO <таблица>
VALUES (<значение_1>, <значение_2>, ..., <значение_n>);
READ
★ READ: Чтение данных.
Чтение данных выполняется путем выбора данных (получения) через команду SELECT:
SELECT column1, column2 FROM table_name
WHERE condition;
Шаблон построения:
SELECT Колонки FROM Таблица
WHERE Условие;
Пример:
SELECT * FROM users;
* это выбор всех колонок, результат – будут отображены все строки таблицы. Если мы, к примеру, хотим получить только имена и адреса электронной почты, то:
SELECT name, email FROM users;
Если хотим добавить условие, к примеру, старше 25 лет:
SELECT * FROM users WHERE age > 25;
SELECT <выборка>
FROM <таблица>
[WHERE <условие>]
[ORDER BY <столбец> [ASC | DESC]]
[LIMIT <количество>];
<выборка>— перечень столбцов (name, email) или*для всех.<таблица>— источник данных.[WHERE <условие>]— фильтрация строк (необязательно).[ORDER BY ...]— сортировка результата (необязательно).[LIMIT ...]— ограничение числа возвращаемых строк (необязательно).
Примеры выборки:
SELECT * FROM users;SELECT name, email FROM users WHERE age > 18;
UPDATE
★ UPDATE: Обновление данных.
Обновление данных работает с существующими записями, путем выполнения команды UPDATE:
UPDATE table_name
SET column1 = new_value1, column2 = new_value2
WHERE condition;
Шаблон построения:
UPDATE Таблица
SET Колонка = Значение
WHERE Условие;
Пример:
UPDATE users
SET email = 'tom_new@mail.com'
WHERE id = 1;
После выполнения, у Тома (так как у него Id = 1) изменится запись в столбце email.
Опасно: если забыть WHERE, то обновятся все строки. Так можно сломать базу.
UPDATE <таблица>
SET <столбец_1> = <новое_значение_1>[, <столбец_2> = <новое_значение_2>, ...]
WHERE <условие>;
<таблица>— имя изменяемой таблицы.<столбец_i> = <новое_значение_i>— пары «поле–значение» для обновления.<условие>— обязательное выражение, определяющее, какие строки изменять.
DELETE
★ DELETE: Удаление данных.
Команда DELETE удаляет записи из таблицы:
DELETE FROM table_name
WHERE condition;
Шаблон построения:
DELETE FROM ТАБЛИЦА
WHERE УСЛОВИЕ;
Пример:
DELETE FROM users
WHERE id = 3;
После такой операции, удалится полностью строка с данными Марии.
Опасно: если забыть WHERE, удалятся все строки таблицы.
DELETE FROM <таблица>
WHERE <условие>;
<таблица>— имя таблицы, из которой удаляются строки.<условие>— выражение, определяющее, какие строки подлежат удалению.