UPDATE в SQL

В этой статье вы научитесь обновлять записи в таблице БД с помощью SQL.

В предыдущих статьях мы говорили о том, как вставлять данные и как выбирать данные из таблицы на основе различных условий. В этой статье мы научимся выполнять еще одну важную задачу — обновлять существующие записи в таблице базы данных.

Синтаксис

Оператор UPDATE позволяет обновлять существующие данные в таблице. Вот его синтаксис:

UPDATE имя_таблицы
SET имя_столбца1 = значение1, имя_столбца2 = значение2,...
WHERE условие;

имя_столбца1, имя_столбца2,... — это имена столбцов или полей таблицы базы данных, значения которых вы хотите обновить. Вы также можете объединить несколько условий с помощью операторов AND или OR, которые мы изучали в предыдущих статьях.

Примечание. Пункт WHERE в операторе UPDATE определяет, какая запись или записи должны быть обновлены. Если опустить предложение WHERE, обновлены будут все записи.

Пример 1: обновление одного столбца

Предположим, что в нашей базе данных есть таблица сотрудников employees, в которой содержатся следующие записи:

+--------+--------------+------------+--------+---------+
| emp_id | emp_name     | hire_date  | salary | dept_id |
+--------+--------------+------------+--------+---------+
|      1 | Ethan Hunt   | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank | 2008-06-24 |   5600 |    NULL |
+--------+--------------+------------+--------+---------+

Следующий SQL-запрос обновит поле emp_name (имя сотрудника) таблицы employees и установит новое значение, где emp_id (номер сотрудника), равен 3.

UPDATE employees SET emp_name = 'Sarah Ann Connor'
WHERE emp_id = 3;

Результат будет выглядеть так:

+--------+------------------+------------+--------+---------+
| emp_id | emp_name         | hire_date  | salary | dept_id |
+--------+------------------+------------+--------+---------+
|      1 | Ethan Hunt       | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana     | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Ann Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard     | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank     | 2008-06-24 |   5600 |    NULL |
+--------+------------------+------------+--------+---------+

Пример 2: обновление нескольких столбцов

Аналогичным образом можно обновить несколько столбцов, используя список пар имен и значений столбцов, разделенных запятыми. Давайте обновим поле salary (зарплата) и dept_id (номер департамента) существующего сотрудника в таблице employees, чей emp_id (номер сотрудника) равен 5.

UPDATE employees
SET salary = 6000, dept_id = 2
WHERE emp_id = 5;

Результат:

+--------+------------------+------------+--------+---------+
| emp_id | emp_name         | hire_date  | salary | dept_id |
+--------+------------------+------------+--------+---------+
|      1 | Ethan Hunt       | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana     | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Ann Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard     | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank     | 2008-06-24 |   6000 |       2 |
+--------+------------------+------------+--------+---------+
codechick

СodeСhick.io - простой и эффективный способ изучения программирования.

2024 ©