Одной из важнейших функций PostgreSQL является возможность выполнения операций манипуляции данными (DML), которые позволяют добавлять, изменять и удалять данные в таблицах. В этой статье мы рассмотрим основы использования DML в PostgreSQL и покажем примеры различных операций.
Что такое DML?
DML (Data Manipulation Language) – это часть языка SQL, которая позволяет осуществлять манипуляцию данными в базе данных. Операции DML позволяют нам выполнять следующие действия:
- INSERT: Добавление новых строк данных в таблицу.
- UPDATE: Изменение значений существующих строк в таблице.
- DELETE: Удаление строк из таблицы.
Давайте рассмотрим каждую из этих операций на примерах.
1. INSERT – Добавление данных в таблицу
Для добавления новых строк данных в таблицу используется оператор INSERT
. Предположим, у нас есть таблица “employees”, и мы хотим добавить нового сотрудника:
INSERT INTO employees (first_name, last_name, age, position)
VALUES ('John', 'Doe', 30, 'Software Engineer');
Обратите внимание, что также мы можем в 1 команде INSERT добавить 2 и более записи. Для этого перечислите кортежи через запятую:INSERT INTO employees (first_name, last_name, age, position) VALUES ('John', 'Doe', 30, 'Software Engineer'),
('Jane', 'Doe', 20, 'Hardware Engineer');
2. UPDATE – Изменение данных в таблице
Оператор UPDATE
позволяет обновлять значения существующих строк в таблице. Допустим, мы хотим изменить должность сотрудника “John Doe”:
UPDATE employees
SET position = 'Senior Software Engineer'
WHERE first_name = 'John' AND last_name = 'Doe';
Также мы можем обновить не одно поле, а несколько, указав это через запятую:
UPDATE employees
SET position = 'Senior Software Engineer' and age = 31
WHERE first_name = 'John' AND last_name = 'Doe';
Важно заметить, что цифровые значения для вставки, изменения или указания условий можно указывать без кавычек, а текстовые или данные с датами/временем необходимо оборачивать в кавычки.
3. DELETE – Удаление данных из таблицы
С помощью оператора DELETE
мы можем удалять строки из таблицы. Допустим, нам нужно удалить сотрудника “John Doe”:
DELETE FROM employees
WHERE first_name = 'John' AND last_name = 'Doe';
Ключевое слово RETURNING
PostgreSQL также предоставляет ключевое слово RETURNING
, которое позволяет получить результат операции DML в виде результирующего набора данных. Это особенно полезно при выполнении операций INSERT
и UPDATE
, когда вы хотите получить значения новых или обновленных строк.
Пример с RETURNING
для операции INSERT
:
INSERT INTO employees (first_name, last_name, age, position)
VALUES ('Alice', 'Smith', 25, 'Data Analyst')
RETURNING employee_id, first_name, last_name;
Транзакции
Когда вы выполняете операции DML, PostgreSQL автоматически обрабатывает их в рамках транзакций. Транзакции обеспечивают атомарность, целостность и изолированность данных. Если вы не используете явную транзакцию, каждая операция DML выполняется в отдельной транзакции. Про транзакции у нас будет еще дополнительная статья.
Добавить комментарий