В этом учебном пособии вы узнаете, как использовать MariaDB оператор UPDATE с синтаксисом и примерами.
Описание
MariaDB оператор UPDATE используется для обновления существующих записей в таблице. В MariaDB есть 3 синтаксиса для запроса на обновление, в зависимости от типа обновления, которое вы хотите выполнить.
Синтаксис
Синтаксис оператора MariaDB UPDATE при обновлении одной таблицы:
SET column1 = expression1,
column2 = expression2,
..
[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]]
[LIMIT number_rows];
Или
Синтаксис для MariaDB оператора UPDATE при обновлении одной таблицы данными из другой таблицы:
SET column1 = (SELECT expression1
FROM table2
WHERE conditions)
[WHERE conditions];
Или
Синтаксис для оператора MariaDB UPDATE при обновлении нескольких таблиц:
SET column1 = expression1,
column2 = expression2,
..
WHERE table1.column = table2.column
AND conditions;
Параметры или аргументы
- column1, column2
- Столбцы, которые вы хотите обновить.
- expression1, expression2
- Новые значения для присвоения column1, column2. Поэтому column1 будет присвоено значение expression1, column2 будет присвоено значение expression2 и т.д.
- WHERE conditions
- Необязательный. Условия, которые должны быть выполнены для выполнения обновление.
- ORDER BY expression
- Необязательный. Он может использоваться в сочетании с LIMIT для надлежащей сортировки записей при ограничении количества обновляемых записей.
- LIMIT number_rows
- Необязательный. Если указан LIMIT, он контролирует максимальное количество записей, которые нужно обновить в таблице. Самое большее, число записей, указанное number_rows, будет обновлено в таблице.
Пример обновить один столбец
Давайте посмотрим, как использовать оператор UPDATE для обновления одного столбца в таблице в MariaDB.
Например:
1 2 3 |
UPDATE sites SET site_name = 'Google.com' WHERE site_name = 'Bing.com'; |
В этом примере UPDATE будет обновлено site_name до "Google.com" в таблице sites, где site_name равно "Bing.com".
Пример обновить несколько столбцов
Рассмотрим, как обновить несколько столбцов с помощью одного оператора UPDATE в MariaDB.
Например:
1 2 3 4 |
UPDATE sites SET site_name = 'Google.com', server_name = 'MyServer' WHERE site_name = 'Bing.com'; |
Вы можете обновить несколько столбцов в MariaDB, разделяя пары столбец/значение запятыми.
В этом примере оператора UPDATE будет изменено site_name на "Google.com", а server_name на "MyServer", где site_name - "Bing.com".
Пример обновление таблицы данными из другой таблицы
Давайте посмотрим, как обновить таблицу данными из другой таблицы в MariaDB с помощью оператора UPDATE.
Например:
1 2 3 4 5 |
UPDATE pages SET site_id = (SELECT site_id FROM sites WHERE site_name = 'Google.com') WHERE page_id <= 15; |
В этом примере UPDATE будут обновляться только таблица pages для всех записей, где page_id меньше или равен 15. Если имя_сайта - 'Google.com', site_id из таблицы sites будет скопирован в поле site_id в таблице pages.
Пример обновить несколько таблиц
Давайте посмотрим, как выполнить обновление, включающее более одной таблицы в одном выражении UPDATE в MariaDB.
Например:
1 2 3 4 |
UPDATE sites, pages SET sites.server_name = pages.host_name WHERE sites.site_id = pages.site_id AND sites.site_id > 500; |
В этом примере будет обновлено поле server_name в таблице sites до поля host_name из таблицы pages. Это обновление будет выполняться только в том случае, если значение site_id в таблице sites превышает 500 и поле site_id из таблицы sites соответствует site_id из таблицы pages.