Язык SQL (DML: INSERT, UPDATE, DELETE). Варианты синтаксиса для множественного обновления данных.
DDL и DML — подмножество языка SQL
DDL (Data Definition Language, язык описания данных) служит для создания и модификации структуры БД, т.е. для создания/изменения/удаления таблиц и связей.
DML (Data Manipulation Language, язык манипулирования данными) позволяет осуществлять манипуляции с данными таблиц, т.е. с ее строками. Он позволяет делать выборку данных из таблиц, добавлять новые данные в таблицы, а также обновлять и удалять существующие данные.
⸻
INSERT
Оператор используется для добавления данных в таблицу.
Добавление одной строки:
INSERT INTO Employees (Name, Department, Salary)
VALUES ('Ivan', 'IT', 1000);
Добавление нескольких строк (множественная вставка):
INSERT INTO Employees (Name, Department, Salary)
VALUES
('Ivan', 'IT', 1000),
('Anna', 'HR', 900),
('Petr', 'IT', 1100);
Вставка данных из другой таблицы:
INSERT INTO Employees (Name, Department, Salary)
SELECT Name, Department, Salary
FROM NewEmployees;
⸻
UPDATE
Оператор используется для изменения существующих данных.
Обновление нескольких строк по условию:
UPDATE Employees
SET Salary = Salary * 1.1
WHERE Department = 'IT';
В SQL нет отдельного оператора для обновления «одной» или «нескольких» строк — количество обновляемых строк определяется условием WHERE.
Множественное обновление нескольких столбцов:
UPDATE Employees
SET
Salary = 1200,
Department = 'Finance'
WHERE Name = 'Ivan';
Обновление с использованием подзапроса:
UPDATE Employees
SET Salary = (
SELECT AVG(Salary)
FROM Employees
)
WHERE Department = 'HR';
Обновление с JOIN (диалектозависимо, например MySQL / PostgreSQL):
UPDATE Employees e
SET Salary = s.NewSalary
FROM SalaryChanges s
WHERE e.EmployeeID = s.EmployeeID;
⸻
DELETE
Оператор используется для удаления данных.
Удаление строк по условию:
DELETE FROM Employees
WHERE Department = 'HR';
Удаление всех строк таблицы:
DELETE FROM Employees;
Удаление с использованием подзапроса:
DELETE FROM Employees
WHERE Salary < (
SELECT AVG(Salary)
FROM Employees
);
⸻
Summary:
- INSERT — добавляет одну или несколько строк
- UPDATE — изменяет одну или несколько строк (множественное обновление задаётся через WHERE)
- DELETE — удаляет одну или несколько строк
Множественное обновление данных в SQL достигается:
- обновлением всех строк, подходящих под WHERE
- обновлением нескольких столбцов за один запрос
- использованием подзапросов и JOIN
No comments to display
No comments to display