Какая команда используется для изменения значения в базы данных sql
Перейти к содержимому

Какая команда используется для изменения значения в базы данных sql

  • автор:

# UPDATE

The examples below fill in a PhoneNumber for any Employee who is also a Customer and currently does not have a phone number set in the Employees Table.

(These examples use the Employees

(opens new window) tables from the Example Databases.)

# Standard SQL

Update using a correlated subquery:

# SQL:2003

Update using MERGE :

# SQL Server

Update using INNER JOIN :

# Modifying existing values

This example uses the Cars Table

(opens new window) from the Example Databases.

Update operations can include current values in the updated row. In this simple example the TotalCost is incremented by 100 for two rows:

  • The TotalCost of Car #3 is increased from 100 to 200
  • The TotalCost of Car #4 is increased from 1254 to 1354

A column’s new value may be derived from its previous value or from any other column’s value in the same table or a joined table.

# Updating Specified Rows

This example uses the Cars Table

(opens new window) from the Example Databases.

This statement will set the status of the row of ‘Cars’ with id 4 to "READY".

WHERE clause contains a logical expression which is evaluated for each row. If a row fulfills the criteria, its value is updated. Otherwise, a row remains unchanged.

# Updating All Rows

This example uses the Cars Table

(opens new window) from the Example Databases.

This statement will set the ‘status’ column of all rows of the ‘Cars’ table to "READY" because it does not have a WHERE clause to filter the set of rows.

Запросы SQL для обновления данных (UPDATE)

Под обновлением данных в БД подразумевается изменение значений в существующих записях таблицы. При этом возможно как изменение значений полей в группе строк (даже всех строк таблицы), так и правка значения поля отдельной строки.

В SQL, изменить запись в таблице БД можно с помощью команды UPDATE. В самом минимальном виде команда обновления данных выглядит следующим образом:

Здесь, UPDATE – команда указывающая, что запрос на обновление данных;

таблица – название таблицы, в которой будет проводиться изменения;

SET – команда, после которой через запятую указываются поля с назначаемыми им значениями;

поле – поле таблицы, в которое будет внесено изменение;

значение – новое значение, которое будет внесено в поле.

Например, если необходимо задать полю во всех строках таблицы значение равное нулю, можно выполнить такой запрос:

В этом случае, поле price абсолютно во всех имеющиеся строках таблицы примет значение 0.

Изменение одного значения

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

num
(номер товара)
title
(название)
price
(цена)
1 Чайник 300
2 Чашка 100
3 Ложка 25
4 Тарелка 100

Для примера, нужно обновить стоимость товара с известным нам его значением num. Для этого, выполним следующий запрос:

Теперь, перед операцией изменения полей, будет выбрана строка, удовлетворяющая условию num = 2. Такая строка в таблице одна. В этой стоке цена и будет изменена на значение 150. В результате получим таблицу с измененной ценой товара.

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

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

Например, мы хотим уменьшить в два раза цену всех товаров, которые сейчас стоят от 100 и более. Запрос:

Условие WHERE здесь содержит правило, по которому будут выбраны только товары с ценой равной или более 100, а те товары, цена у которых ниже 100, затронуты запросом не будут.

price = price / 2 – формула, по которой будет вычисляться новая цена товаров. Новая цена будет записана равной старой цене поделенной на два.

В результате выполнения такого запроса получим таблицу с измененными записями:

num
(номер товара)
title
(название)
price
(цена)
1 Чайник 150
2 Чашка 50
3 Ложка 25
4 Тарелка 50

Обновление значений в нескольких полях строки

При необходимости обновлять сразу несколько полей, все поля с их значениями указываются после директивы SET через запятую. Например, нужно изменить название и цену товара с кодом 2 на «утюг», стоимостью 300:

Такой запрос каждому соответствующему полю в строке назначит его значение. А условие укажет, в какой именно строке будут выполнены изменения.

Выше приведены основные виды операций обновления. На их основе формируется запросы для решения большинства задач изменения данных в разработке с применением SQL.

UPDATE в SQL

Оператор UPDATE используется для редактирования существующих строк в таблице. Например:

Здесь мы изменяем значение столбца first_name на Johnny , где customer_id равен 1 .

Примечание: Если нужно вставить новую строку вместо обновления существующей, то следует использовать оператор INSERT INTO.

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

Можно обновить сразу несколько значений в строке. Например:

Здесь мы изменяем значение столбца first_name на Johnny , а last_name на Depp , где customer_id равен 1 .

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

Можно обновить сразу несколько строк. Например:

Здесь мы изменяем значение столбца country на NP , если значением столбца age является 22 . Если имеется более одной строки с возрастом, равным 22 , все соответствующие строки будут отредактированы.

Обновить все строки

Мы можем обновить сразу все строки в таблице. Для этого нужно просто не указывать оператор WHERE . Например:

Здесь мы изменяем значение столбца country на NP для всех строк.

Примечание: Будьте осторожны при использовании оператора UPDATE . Если пропустить/забыть оператор WHERE , то все строки будут изменены, и это изменение будет необратимым.

Оператор UPDATE с оператором JOIN

Также можно использовать оператор UPDATE с оператором JOIN в SQL. Детально об этом можно почитать на Stack Overflow.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *