Update (SQL)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

UPDATE — оператор языка SQL, позволяющий обновить значения в заданных столбцах таблицы.

Синтаксис[править | править вики-текст]

UPDATE [top(x)] <объект> 
SET <присваивание1 [, присваивание2, ...]> 
[WHERE <условие>];
  • top(x) — команда выполнится только х раз
  • <объект> — объект, над которым выполняется действие (таблица или представление)
  • <присваивание> — присваивание, которое будет выполняться при каждом выполнении условия <условие>, или для каждой записи, если отсутствует раздел where
  • <условие> — условие выполнения команды
  • SET — после ключевого слова должен идти список полей таблицы, которые будут обновлены и непосредственно сами новые значения в виде
имя поля="значение"

Примеры[править | править вики-текст]

 1 UPDATE tbl_books SET price = 0 WHERE quantity = 0;
 2 
 3 UPDATE PersonalInfo SET street = 'Лизюкова', ci­ty = 'Воронеж' where name = 'Котёнок';
 4 
 5 UPDATE temp a SET
 6     deptno = (SELECT deptno FROM dept WHERE loc = 'BOSTON'),
 7     (sal, comm) = (
 8         SELECT 1.1*AVG(sal), 1.5*AVG(comm)
 9         FROM temp b
10         WHERE a.deptno = b.deptno
11         )
12     WHERE deptno IN (SELECT deptno FROM dept WHERE loc = 'DALLAS' OR loc = 'DETROIT');

В последнем выражении выполняются следующие операции:

  • Модифицируются только те служащие, которые работают в Dallas или Detroit
  • Устанавливается значение колонки deptno в значение такое же, как и у служащих из Бостона
  • Устанавливается жалованье каждого служащего в 1.1 раз больше среднего жалованья всего отдела
  • Устанавливаются комиссионные каждого служащего в 1.5 раза больше средних комиссионных всего отдела.

См. также[править | править вики-текст]