MySQL ОБНОВЛЕНИЕ запроса с примером

⚡ Умное резюме

MySQL Запрос UPDATE изменяет существующие строки в таблице, затрагивая одно или несколько полей за один запрос. В этом ресурсе объясняется синтаксис запроса UPDATE, фильтрация WHERE, приводятся примеры работы с таблицей members, а также меры защиты, предотвращающие непреднамеренные массовые обновления.

  • 🇧🇷 Основное утверждение: Команда `UPDATE `table_name` SET `column_name` = 'new_value' [WHERE condition] перезаписывает значения в каждой строке, соответствующей фильтру.
  • ⚠️ Опущено ГДЕ: Без предложения WHERE оператор UPDATE перезаписывает столбец в каждой строке таблицы.
  • 🔢 Форматирование значений: Строковые значения и значения дат требуют одинарных кавычек, числовые значения — нет, а даты имеют формат 'YYYY-MM-DD'.
  • 🧩 Несколько столбцов: Для обновления нескольких полей в одном запросе разделяйте каждое присваивание запятой.
  • 🔍 Этап проверки: Сначала выполните оператор WHERE как оператор SELECT, а затем повторите его после оператора UPDATE, чтобы подтвердить новые значения.
  • 🛡️ Безопасный режим обновления: MySQL Workbench отклоняет любые запросы UPDATE, в условии WHERE которых отсутствует фильтрация по ключевому столбцу.

Что такое запрос UPDATE?

ОБНОВЛЕНИЕ ПО MySQL Команда `update` используется для изменения строк в таблице. Запрос `update` может изменять одно поле или несколько полей одновременно. Он также может использоваться для обновления... MySQL таблица со значениями, взятыми из другой таблицы.

Зачем использовать запрос UPDATE? MySQL?

Данные редко остаются актуальными навсегда. Участники меняют номера телефонов, цены меняются, а заказы переходят из статуса «ожидание» в статус «отправлено». Удаление старой строки и вставка новой нарушит работу первичного ключа и любых ссылок на внешние ключи. Оператор UPDATE редактирует строку на месте, поэтому идентификационные данные и связи сохраняются после изменения.

Запрос UPDATE — это подходящий инструмент в следующих случаях:

  • Значение неверно или устарело: Исправьте орфографическую ошибку в имени или обновите номер телефона, не затрагивая остальную часть записи.
  • Статус должен двигаться вперед: Измените статус заказа с «ожидает подтверждения» на «отправлен», переписав один столбец.
  • Несколько областей изменяются одновременно: В одном запросе можно задать как новое имя, так и новый адрес.
  • Необходима коррекция всего объема данных: Условие WHERE, соответствующее нескольким строкам, применяет одно и то же изменение ко всем из них одновременно.

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

MySQL Обновить синтаксис команды

После определения цели следующим шагом является синтаксис. Базовая форма запроса UPDATE представлена ​​в MySQL показано ниже.

UPDATE `table_name` SET `column_name` = 'new_value' [WHERE condition];

ЗДЕСЬ:

  • ОБНОВИТЬ `table_name` это команда, которая сообщает MySQL Изменить данные в таблице.
  • SET `column_name` = 'new_value' Задает имена и значения полей, на которые будет воздействовать запрос UPDATE. При задании значений строковые типы данных должны быть заключены в одинарные кавычки. Числовые значения не требуют кавычек. Значения дат должны быть заключены в одинарные кавычки и иметь формат 'YYYY-MM-DD'.
  • [ГДЕ условие] Этот параметр является необязательным и может использоваться для применения фильтра, ограничивающего количество строк, затрагиваемых запросом UPDATE. Полный список параметров приведен в [ссылка на документацию]. MySQL Руководство по обновлению заявления.

Теперь рассмотрим практический пример обновления данных в таблице участников.

Обновление в MySQL Пример

Предположим, что участникам с номерами 1 и 2 необходимо внести следующие изменения в свои записи.

Членский номер Требуются обновления
1 Измените контактный номер с 999 на 0759 253 532
2 Измените имя на Джанет Смит Джонс и обновите физический адрес на Мелроуз 123.

Обновление одного столбца

Начнём с участника номер 1. Прежде чем вносить какие-либо изменения, давайте получим эту запись.

SELECT * FROM `members` WHERE `membership_number` = 1;

Выполнение приведенного выше сценария дает нам следующие результаты.

Количество членов полные имена пол Дата рождения Физический адрес почтовый_адрес контактный_номер e-mail
1 Джанет Джонс F 21-07-1980 Первая улица, участок № 4 Частная сумка 999 janetjones@yagoo.cm

Давайте теперь обновим контактный номер, используя скрипт, показанный ниже.

UPDATE `members` SET `contact_number` = '0759 253 532' WHERE `membership_number` = 1;

Выполнение приведенного выше скрипта изменяет контактный номер с 999 на 0759 253 532 для участника с номером 1. Повторный запуск SELECT подтверждает новое значение.

Количество членов полные имена пол Дата рождения Физический адрес почтовый_адрес контактный_номер e-mail
1 Джанет Джонс F 21-07-1980 Первая улица, участок № 4 Частная сумка 0759 253 532 janetjones@yagoo.cm

Обновление нескольких столбцов

В записи № 2 необходимо одновременно изменить два поля. Это запись до обновления.

Количество членов полные имена пол Дата рождения Физический адрес почтовый_адрес контактный_номер e-mail
2 Смит Джонс F 23-06-1980 Park Street NULL, NULL, jj@fstreet.com

Следующий скрипт обновляет оба столбца одним оператором. Обратите внимание на запятую, разделяющую два присваивания.

UPDATE `members` SET `full_names` = 'Janet Smith Jones', `physical_address` = 'Melrose 123' WHERE `membership_number` = 2;

Выполнение приведенного выше скрипта обновляет полные имена для участника под номером 2 на имя Джанет Смит Джонс, а физический адрес — на Мелроуз 123.

Количество членов полные имена пол Дата рождения Физический адрес почтовый_адрес контактный_номер e-mail
2 Джанет Смит Джонс F 23-06-1980 Мелроуз 123 NULL, NULL, jj@fstreet.com

💡 Совет: "Предложение WHERE«Этот параметр ограничивает количество строк, затрагиваемых запросом UPDATE. Если его опустить, каждая строка в таблице будет перезаписана».

Часто задаваемые вопросы (FAQ)

MySQL Возвращает количество «совпадающих строк» ​​и «измененных строк». Количество совпадающих строк показывает, сколько строк было выбрано в предложении WHERE, а количество измененных строк исключает строки, новое значение которых совпало со старым.

Да. Объедините команду UPDATE с командой РЕГИСТРАЦИЯ и ссылаться на вторую таблицу в предложении SET. Условие объединения определяет, какая строка источника предоставляет новое значение для каждой целевой строки.

Оберните это в транзакцию. START TRANSACTION с последующим ROLLBACK восстанавливает старые значения. После подтверждения изменений восстановить предыдущие данные можно только из резервной копии, поэтому сначала проверьте условие WHERE с помощью SELECT.

Да. Искусственный интеллект преобразует описанное изменение в синтаксис UPDATE и предлагает условие WHERE. Укажите модели структуру вашей таблицы, затем проверьте фильтр с помощью оператора SELECT, прежде чем запускать сгенерированный запрос.

Модель искусственного интеллекта не может видеть ваши строки в реальном времени, поэтому слегка некорректное условие WHERE может незаметно перезаписать тысячи записей. RevПросматривайте каждое сгенерированное выражение, запускайте его на промежуточной копии и создавайте актуальную резервную копию.

Подведем итог этой публикации следующим образом: