Оператор SQL UPDATE: примеры, синтаксис

Оператор SQL UPDATE используется для изменения значений в записях таблицы.

Оператор SQL UPDATE имеет следующий синтаксис:

UPDATE table_name SET expression [WHERE condition]

Напоминаю, что записи в квадратных скобках [] являются необязательными.

После ключевого слова SET должен идти список столбцов таблицы, которые следует изменить, и новые значения в формате Имя_столбца = значение.

Дополнительное условие, описываемое в операторе SQL WHERE, помогает более гибко совершать манипуляции данными.


Примеры оператора SQL UPDATEИмеется следующая таблица Planets:

IDPlanetNameRadiusSunSeasonOpeningYearHavingRingsOpener
1Mars33966871659NoChristiaan Huygens
2Saturn6026810759. 22Yes
3Neptune24764601901846YesJohn Couch Adams
4Mercury2439115.881631NoNicolaus Copernicus
5Venus60512431610NoGalileo 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

Результат:

IDPlanetNameRadiusSunSeasonOpeningYearHavingRingsOpener
3Pluton24764601901846YesJohn 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

Результат:

IDPlanetNameRadiusSunSeasonOpeningYearHavingRingsOpener
NULLMars33966871659NoChristiaan Huygens
NULLSaturn6026810759.22No
NULLNeptune24764601901846NoJohn 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.

Такая строка в таблице одна. В этой стоке цена и будет изменена на значение 150. В результате получим таблицу с измененной ценой товара.

Внесение изменений в несколько строк с условием отбора

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

Например, мы хотим уменьшить в два раза цену всех товаров, которые сейчас стоят от 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

используется для изменения данных записей, хранящихся в таблицах. Какие строки должны быть обновлены, решается условием. Чтобы указать условие, мы используем предложение WHERE.

Оператор UPDATE может быть записан в следующей форме:

UPDATE имя_таблицы SET [имя_столбца1= значение1,… имя_столбцаN = значениеN] [ГДЕ условие]

Посмотрим на синтаксис:

ОБНОВЛЕНИЕ имя_таблицы SET имя_столбца = выражение ГДЕ условия

Возьмем пример: здесь мы собираемся обновить запись в исходной таблице.

Оператор SQL:

ОБНОВИТЬ студентов SET User_Name = ‘быть человеком’ ГДЕ Student_Id = ‘3’

Исходная таблица:

9004 5 900 04 jonny
Идентификатор учащегося Имя Фамилия Имя_Пользователя
1 Ада Шарма шармили
2 Рахул Морья софамус
3 Джеймс Уокер

Посмотрите результат после обновления значения:

Student_Id Имя Фамилия Имя_пользователя
1 Ада Шарма Шармили
2 Рахул Ма урия софамус
3 Джеймс Уокер существочеловек

Если вы собираетесь обновить несколько полей, вы должны разделить каждое назначение поля запятой.

Оператор SQL UPDATE для нескольких полей:

ОБНОВИТЬ студентов SET User_Name = ‘beserious’, First_Name = ‘Джонни’ ГДЕ Student_Id = ‘3’

Результат таблицы приведен ниже:

Student_Id Имя Фамилия User_Name
1 Ада Шарма 90 048 шармили
2 Рахул Маурья софамус
3 9 0014 Джонни Walker beserious

СИНТАКСИС 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 = 'Джонсон'; 

Если вы хотите обновить несколько столбцов, вы можете сделать это, разделив пары столбец/значение запятыми.