Оператор UPDATE

Используется для обновления (изменения) записей в базе данных. Струкутра:
1
UPDATE [TOP] <Имя таблицы> SET <Список присваиваний> [WHERE];

1. <Имя таблицы>

 - название таблицы, в которой необходимо изменить записи</pre>

2. <Список присваиваний>

 - список (указывается через запятую), в котором столбцам присваиваются новые значения. 

Каждое присваивание выглядит следующим образом:
1
<Имя столбца> <Оператор> <Значение>

1. <Имя столбца>

 - поле, которое необходимо изменить. Выбирается из указанной таблицы

2. <Оператор>

 - математическое выражение, которое изменяет значение поля. Существуют следующие операторы: 
  • += - прибавляет к текущему значению новое
  • -= - уменьшает текущее значение
  • *= - умножает текущее значение
  • /= - делит текущее значение
  • %= - остаток от деления старого значения на новое
  • &= - сложение строк
  • ^= - возводит в степень
  • = - присвоение

3. <Значение>

 - новое значение. Возможны следующие варианты:
  • <Значение> - значение, указанное в явном виде
  • <DEFAULT> - возвращает значение, указанное по умолчанию 
  • <NULL> - пустое значение

4. WHERE

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

5. TOP

– необязательный оператор. Если он указан, то обновится ограниченное число
записей. Подробнее о TOP можно прочитать здесь.
После оператора UPDATE необходимо указать имя таблицы. После оператора SET необходимо перечислить пары, в которых полям указываются новые значения. Все неуказанные поля оставят свои значения без изменения.

Особенности:


Если поле не указано, то оно оставит своё прежнее значение.
Пример:

Пусть имеется таблица сотрудников компании. Таблица называется “employee” и имеет следующие поля:
  • id

     – уникальный идентификатор сотрудника (целое число)
  • FirstName

     – имя (Строка)
  • SecondName

     – фамилия (Строка)
  • Sex

     – пол (Строка)
  • Rate

     – коэффициент (Дробное число. Значение по умолчанию - ноль)


Id

FirstName

SecondName

Sex

Rate

1

Григорьев

Алексей

Муж

1,7

2

Сергеева

Анастасия

Жен

1,5

3

Поляков

Сергей

Муж

1,1

4

Кузнецов

Илья

Муж

2,4

5

Федорова

Светлана

Жен

2,1


1. Обновление всех записей таблицы (без использования WHERE и TOP).

 Прибавим всем сотрудникам по 0,5 к их коэффициенту.
1
UPDATE employee SET RATE += 0,5;
Результат:

Id

FirstName

SecondName

Sex

Rate

1

Григорьев

Алексей

Муж

2,2

2

Сергеева

Анастасия

Жен

2,0

3

Поляков

Сергей

Муж

1,6

4

Кузнецов

Илья

Муж

2,9

5

Федорова

Светлана

Жен

2,6


2. С использованием WHERE.

 Изменим имя на «Александр» у тех, у кого коэффициент
меньше двух
1
UPDATE employee SET SecondName='Александр' WHERE Rate < 2;
Результат:

Id

FirstName

SecondName

Sex

Rate

1

Григорьев

Алексей

Муж

2,2

2

Сергеева

Анастасия

Жен

2,0

3

Поляков

Александр

Муж

1,6

4

Кузнецов

Илья

Муж

2,9

5

Федорова

Светлана

Жен

2,6


3. C использование TOP. Зададим значение по умолчанию полю Rate у первых трёх сотрудников.
1
UPDATE TOP(3) employee SET RATE=DEFAULT
Результат:

Id

FirstName

SecondName

Sex

Rate

1

Григорьев

Алексей

Муж

0

2

Сергеева

Анастасия

Жен

0

3

Поляков

Сергей

Муж

0

4

Кузнецов

Илья

Муж

2,9

5

Федорова

Светлана

Жен

2,6

Спасибо за внимание.
Если статья Вам показалась незаконченной или Вы знаете как её улучшить, пожалуйста сообщите мне e@gohtml.ru