Оператор SQL UPDATE: примеры, синтаксис
Оператор SQL UPDATE используется для изменения значений в записях таблицы.
Оператор SQL UPDATE имеет следующий синтаксис:
UPDATE table_name SET expression [WHERE condition]
Напоминаю, что записи в квадратных скобках [] являются необязательными.
После ключевого слова SET должен идти список столбцов таблицы, которые следует изменить, и новые значения в формате Имя_столбца = значение.
Дополнительное условие, описываемое в операторе SQL WHERE, помогает более гибко совершать манипуляции данными.
Примеры оператора SQL UPDATE. Имеется следующая таблица Planets:
ID | PlanetName | Radius | SunSeason | OpeningYear | HavingRings | Opener |
1 | Mars | 3396 | 687 | 1659 | No | Christiaan Huygens |
2 | Saturn | 60268 | 10759. 22 | — | Yes | — |
3 | Neptune | 24764 | 60190 | 1846 | Yes | John Couch Adams |
4 | Mercury | 2439 | 115.88 | 1631 | No | Nicolaus Copernicus |
5 | Venus | 6051 | 243 | 1610 | No | Galileo Galilei |
Пример 1. С помощью оператора SQL UPDATE изменить название планеты Neptune на Pluton:
UPDATE Planets SET PlanetName = 'Pluton' WHERE ID = 3
В этом примере условие оператора SQL WHERE является обязательным, так как без него все поля столбца PlanetName во всей таблице изменились бы на Pluton. В данном случае, нам приходит на помощь столбец ID, ибо он является Первичным ключом, позволяющим однозначно идентифицировать запись.
Выполним запрос оператором SQL SELECT, чтобы посмотреть изменения в записи:
SELECT * FROM Planets WHERE ID = 3
Результат:
ID | PlanetName | Radius | SunSeason | OpeningYear | HavingRings | Opener |
3 | Pluton | 24764 | 60190 | 1846 | Yes | John Couch Adams |
Пример 2. С помощью оператора SQL UPDATE у первых трех записей таблицы изменить значение наличия колец (HavingRings) на «No» и обнулить поле ID
Код примера для MS SQL Server:
UPDATE TOP(3) Planets SET HavingRings = 'No', ID = NULL
Код примера для MySQL:
UPDATE Planets SET HavingRings = 'No', ID = NULL LIMIT 3
Выполним проверку:
SELECT TOP(3) * FROM Planets
Результат:
ID | PlanetName | Radius | SunSeason | OpeningYear | HavingRings | Opener |
NULL | Mars | 3396 | 687 | 1659 | No | Christiaan Huygens |
NULL | Saturn | 60268 | 10759.22 | — | No | — |
NULL | Neptune | 24764 | 60190 | 1846 | No | John Couch Adams |
Запросы SQL для обновления данных (UPDATE)
Под обновлением данных в БД подразумевается изменение значений в существующих записях таблицы. При этом возможно как изменение значений полей в группе строк (даже всех строк таблицы), так и правка значения поля отдельной строки.
В SQL, изменить запись в таблице БД можно с помощью команды UPDATE. В самом минимальном виде команда обновления данных выглядит следующим образом:
UPDATE таблица SET поле = значение
Здесь, UPDATE – команда указывающая, что запрос на обновление данных;
таблица – название таблицы, в которой будет проводиться изменения;
SET – команда, после которой через запятую указываются поля с назначаемыми им значениями;
поле – поле таблицы, в которое будет внесено изменение;
значение – новое значение, которое будет внесено в поле.
Например, если необходимо задать полю во всех строках таблицы значение равное нулю, можно выполнить такой запрос:
UPDATE goods SET price = 0
В этом случае, поле price абсолютно во всех имеющиеся строках таблицы примет значение 0.
Изменение одного значения
Изменение значения всех полей в таблице необходимо крайне редко. Чаще всего необходимо поменять значение какой-то конкретной записи. Для этого в завершении строки с командой UPDATE будет добавлена директива WHERE, в которой указывается условие, определяющее с какой именно строкой нужно выполнить операцию обновления.
Имеется таблица:
num |
title (название) |
price (цена) |
1 | Чайник | 300 |
2 | Чашка | 100 |
3 | Ложка | 25 |
4 | Тарелка | 100 |
Для примера, нужно обновить стоимость товара с известным нам его значением num. Для этого, выполним следующий запрос:
UPDATE goods SET price = 150 WHERE num = 2
Теперь, перед операцией изменения полей, будет выбрана строка, удовлетворяющая условию num = 2.
Внесение изменений в несколько строк с условием отбора
Если вспомнить все многообразие условий в запросе, можно представить себе насколько разнообразными могут быть выборки. Поэтому и запросы на обновления могут выполняться либо с одной строкой, либо с группой строк, либо со всеми строками таблицы. Все зависит от стоящей перед вами задачи, а так же с какими строками таблицы нужно выполнять операции обновления.
Например, мы хотим уменьшить в два раза цену всех товаров, которые сейчас стоят от 100 и более. Запрос:
UPDATE goods SET price = price / 2 WHERE price >= 100
Условие WHERE здесь содержит правило, по которому будут выбраны только товары с ценой равной или более 100, а те товары, цена у которых ниже 100, затронуты запросом не будут.
price = price / 2 – формула, по которой будет вычисляться новая цена товаров. Новая цена будет записана равной старой цене поделенной на два.
В результате выполнения такого запроса получим таблицу с измененными записями:
num (номер товара) |
title (название) |
price (цена) |
1 | Чайник | 150 |
2 | Чашка | 50 |
3 | Ложка | 25 |
4 | Тарелка | 50 |
Обновление значений в нескольких полях строки
При необходимости обновлять сразу несколько полей, все поля с их значениями указываются после директивы SET через запятую. Например, нужно изменить название и цену товара с кодом 2 на «утюг», стоимостью 300:
UPDATE goods SET title = "утюг", price = 300 WHERE num = 2
Такой запрос каждому соответствующему полю в строке назначит его значение. А условие укажет, в какой именно строке будут выполнены изменения.
Выше приведены основные виды операций обновления. На их основе формируется запросы для решения большинства задач изменения данных в разработке с применением SQL.
ОБНОВЛЕНИЕ SQL— javatpoint
следующий → ← предыдущая Команды SQL ( UPDATE и DELETE ) используются для изменения данных, которые уже находятся в базе данных. Команда SQL DELETE использует предложение WHERE. Оператор SQL UPDATE Оператор UPDATE может быть записан в следующей форме: UPDATE имя_таблицы SET [имя_столбца1= значение1,… имя_столбцаN = значениеN] [ГДЕ условие] Посмотрим на синтаксис: ОБНОВЛЕНИЕ имя_таблицы SET имя_столбца = выражение ГДЕ условия Возьмем пример: здесь мы собираемся обновить запись в исходной таблице. Оператор SQL: ОБНОВИТЬ студентов SET User_Name = ‘быть человеком’ ГДЕ Student_Id = ‘3’ Исходная таблица:
Посмотрите результат после обновления значения:
Если вы собираетесь обновить несколько полей, вы должны разделить каждое назначение поля запятой. Оператор SQL UPDATE для нескольких полей: ОБНОВИТЬ студентов SET User_Name = ‘beserious’, First_Name = ‘Джонни’ ГДЕ Student_Id = ‘3’ Результат таблицы приведен ниже:
СИНТАКСИС MYSQL ДЛЯ ОБНОВЛЕНИЯ ТАБЛИЦЫ: ОБНОВЛЕНИЕ имя_таблицы SET поле1 = новое значение1, поле2 = новое значение2, [ГДЕ ПРЕДЛОЖЕНИЕ] ВЫБОР ОБНОВЛЕНИЯ SQL: ОБНОВЛЕНИЕ SQL С ЗАПРОСОМ SELECT: Мы можем использовать оператор SELECT для обновления записей с помощью оператора UPDATE. СИНТАКСИС: ОБНОВЛЕНИЕ таблицыПункт назначения SET tableDestination. col = значение ГДЕ СУЩЕСТВУЕТ ( ВЫБЕРИТЕ col2.value ИЗ tblSource ГДЕ tblSource.join_col = tblDestination. Join_col И tblSource.Constraint = значение) Вы также можете попробовать этот — ОБНОВЛЯТЬ Стол НАБОР Таблица.столбец1 = другая таблица.столбец 1, Таблица.столбец2 = другая таблица.столбец 2 ОТ Стол ВНУТРЕННЕЕ СОЕДИНЕНИЕ Other_table НА Таблица.id = другая_таблица.id Мой SQL СИНТАКСИС: Если вы хотите ОБНОВИТЬ с помощью SELECT в My SQL, вы можете использовать этот синтаксис: Давайте рассмотрим пример с двумя таблицами. Здесь, Первая таблица содержит — Cat_id, cat_name, А вторая таблица содержит — rel_cat_id, rel_cat_name ОБНОВЛЕНИЕ СТОЛБЦА SQL: Мы можем обновить один или несколько столбцов в SQL с помощью запроса SQL UPDATE. ПРИМЕР ОБНОВЛЕНИЯ SQL С ОБНОВЛЕНИЕМ ОДНОЙ СТОЛБЦА: ОБНОВИТЬ студентов УСТАНОВИТЬ студенческий_id = 001 ГДЕ student_name = ‘АДЖИТ’; Этот пример SQL UPDATE обновит student_id до «001» в таблице student, где student_name — «AJEET». ПРИМЕР ОБНОВЛЕНИЯ SQL С ОБНОВЛЕНИЕМ НЕСКОЛЬКИХ СТОЛБЦОВ: Чтобы обновить более одного столбца с помощью одного оператора обновления: ОБНОВИТЬ студентов УСТАНОВИТЬ имя_студента = ‘АДЖИТ’, Религия = ‘ИНДУСТЫ’ ГДЕ student_name = ‘РАДЖУ’; Эта инструкция SQL UPDATE изменит имя учащегося на «AJEET» и религию на «HINDU», где имя учащегося будет «RAJU». Следующая темаSQL UPDATE с JOIN ← предыдущая следующий → |
SQL Server: оператор UPDATE
В этом руководстве по SQL Server объясняется, как использовать Инструкция UPDATE в SQL Server (Transact-SQL) с синтаксисом и примерами.
Описание
Оператор UPDATE SQL Server (Transact-SQL) используется для обновления существующих записей в таблице базы данных SQL Server. Существует 3 синтаксиса для оператора UPDATE в зависимости от того, выполняете ли вы традиционное обновление или обновляете одну таблицу данными из другой таблицы.
Синтаксис
Синтаксис оператора UPDATE при обновлении одной таблицы в SQL Server (Transact-SQL):
ОБНОВЛЕНИЕ таблицы УСТАНОВИТЬ столбец1 = выражение1, столбец2 = выражение2, ... [ГДЕ условия];
ИЛИ
Синтаксис оператора UPDATE при обновлении одной таблицы данными из другой таблицы в SQL Server (Transact-SQL):
UPDATE table1 SET столбец1 = (ВЫБЕРИТЕ выражение1 ИЗ таблицы2 ГДЕ условия) [ГДЕ условия];
ИЛИ
Синтаксис оператора UPDATE SQL Server при обновлении одной таблицы данными из другой таблицы:
ОБНОВЛЕНИЕ таблицы 1 УСТАНОВИТЬ таблица1.столбец = таблица2.выражение1 ИЗ таблицы1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ таблица2 ВКЛ (таблица1.столбец1 = таблица2.столбец1) [ГДЕ условия];
Параметры или аргументы
- столбец 1, столбец 2
- Столбцы, которые вы хотите обновить.
- выражение1, выражение2
- Новые значения для присвоения столбцу1 , столбцу2 . Таким образом, столбцу1 будет присвоено значение выражение1 , столбцу2 будет присвоено значение выражение2 и так далее.
- ГДЕ условия
- Дополнительно. Условия, которые должны быть выполнены для выполнения обновления.
Пример — Обновление одного столбца
Давайте рассмотрим очень простой пример запроса SQL Server UPDATE.
Например:
ОБНОВЛЕНИЕ сотрудников SET last_name = 'Джонсон' ГДЕ employee_id = 10;
Этот пример ОБНОВЛЕНИЯ SQL Server обновит last_name на «Johnson» в таблице сотрудников , где employee_id равен 10.
Пример — обновление нескольких столбцов
один оператор UPDATE.
Например:
ОБНОВЛЕНИЕ сотрудников SET first_name = 'Кайл', идентификатор_сотрудника = 14 ГДЕ last_name = 'Джонсон';
Если вы хотите обновить несколько столбцов, вы можете сделать это, разделив пары столбец/значение запятыми.