2.6. Изменение данных

2.6. Изменение данных

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

UPDATE <Имя таблицы>

SET <Имя столбца 1> = <Значение 1>,

…,

<Имя столбца N> = <Значение N>

[WHERE <Условие отбора>]

[ORDER BY <Имя столбца> [ASC или DESC]]

[LIMIT <Количество строк>];

Например, если у клиента по фамилии Крылов изменился номер телефона, то обновить информацию в базе данных можно с помощью команды

UPDATE Customers SET phone = '444-25-27' WHERE id = 536;

В команде UPDATE используются следующие основные параметры:

• имя редактируемой таблицы;

• SET <Имя столбца 1> = <Значение 1>, … , <Имя столбца N> = <Знaчение N> – список столбцов и новых значений для этих столбцов. Более подробную информацию о вставке значений в таблицу и о режимах взаимодействия с сервером MySQL вы можете найти в подразделе «Вставка отдельных строк». Задать новое значение вы можете также с помощью выражения, использующего прежние значения в строке. Например, удвоить рейтинги для всех клиентов можно с помощью команды

UPDATE Customers SET rating = rating*2;

• WHERE <Условие отбора> – укажите условие отбора, чтобы изменения были применены только к тем строкам таблицы, которые удовлетворяют этому условию. Если условие отбора не задано, изменения будут применены ко всем строкам таблицы. Условия отбора мы рассматривали в подразделе «Условия отбора». В условиях отбора можно использовать вложенный запрос (см. подраздел «Вложенные запросы»), который не должен обращаться к самой модифицируемой таблице.

• ORDER BY <Имя столбца> [ASC или DESC] – при необходимости вы можете указать, в каком порядке применять изменения к строкам таблицы. Обычно порядок применения изменений не влияет на результат выполнения операции. Однако в некоторых случаях последовательность действий может быть важна. Например, если вы установили предельное количество изменяемых строк (см. следующий пункт), то некоторые строки, удовлетворяющие условию отбора, могут остаться неизменными, а какие именно это будут строки – зависит от последовательности применения изменений. Другим подобным случаем является обновление значений первичного ключа или уникального индекса, которые не должны содержать повторяющихся значений, а наличие или отсутствие повторяющихся значений в столбце может зависеть от порядка применения изменений.

• LIMIT <Количество строк> – при необходимости вы можете указать максимальное количество строк таблицы, которые могут быть изменены командой UPDATE. Если это количество измененных строк достигнуто, операция завершается, даже если в таблице еще остались строки, которые удовлетворяют условию отбора и не были изменены.

Данный текст является ознакомительным фрагментом.