Использование DML (Data Manipulation Language) в PostgreSQL

Одной из важнейших функций PostgreSQL является возможность выполнения операций манипуляции данными (DML), которые позволяют добавлять, изменять и удалять данные в таблицах. В этой статье мы рассмотрим основы использования DML в PostgreSQL и покажем примеры различных операций.

Что такое DML?

DML (Data Manipulation Language) – это часть языка SQL, которая позволяет осуществлять манипуляцию данными в базе данных. Операции DML позволяют нам выполнять следующие действия:

  1. INSERT: Добавление новых строк данных в таблицу.
  2. UPDATE: Изменение значений существующих строк в таблице.
  3. 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 выполняется в отдельной транзакции. Про транзакции у нас будет еще дополнительная статья.

Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

2 + 6 =