Главная SQL Update
E-mail Печать PDF

UPDATE используется для обновления записей в таблице.

СинтаксисSQL UPDATE

1
2
3
UPDATE table_name
SET column1=value, column2=value2,...
WHERE some_column=some_value

Note Замечание: Обратите внимание на WHERE в синтаксисисе UPDATE. WHERE определяет какие записи должны быть обновлены, если условие WHERE не прописанно то все записи в таблице будут обновлены!

Пример SQL UPDATE

Есть таблица "Persons":

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
5 Tjessem Jakob

Итак, мы хотим обновить столбцы "Tjessem, Jakob" в таблице "Persons"..

Для этого используем такой запрос:

1
2
3
 UPDATE Persons
 SET Address='Nissestien 67', City='Sandnes'
 WHERE LastName='Tjessem' AND FirstName='Jakob'

Результат запроса:

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
4 Nilsen Johan Bakken 2 Stavanger
5 Tjessem Jakob Nissestien 67 Sandnes

Предупреждение SQL UPDATE

Будьте осторожны при обновлении записей. Если у нас будет пропущено условие WHERE:

1
2
UPDATE Persons
SET Address='Nissestien 67', City='Sandnes'

То таблица "Persons" будет выглядеть так:

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Nissestien 67 Sandnes
2 Svendson Tove Nissestien 67 Sandnes
3 Pettersen Kari Nissestien 67 Sandnes
4 Nilsen Johan Nissestien 67 Sandnes
5 Tjessem Jakob Nissestien 67 Sandnes

Комментарии

 
-6 #1 Шелест Константин 2010-10-28 19:11 (Итак, мы хотим обновить столбцы "Tjessem, Jakob" в таблице "Persons") - сказано некорректно, я думаю правильно было бы сказать, - "обновить кортеж со значением 5 атрибута P_Id таблицы Persons". Цитировать
 
 
+11 #2 Шелест Константин 2010-10-28 21:38 Так немного проще:

UPDATE Persons
SET Address='Nissestien 67', City='Sandnes'
WHERE P_Id = 5;
Цитировать
 
 
+6 #3 Azat 2010-10-28 22:17 Подскажите, а как быть если в SET нужно вбить слова(а) и еще значение одного из столбцов.

Например из ваших примеров чтоб было так
UPDATE table_name
SET column1='column3 слово моё', column1='мои слова column4 еще слова'
WHERE some_column=some_value
Как правильно составить?

Огромное спасибо.
Цитировать
 
 
+5 #4 Шелест Константин 2010-10-29 13:55 На сколько я знаю, в одной ячейке может быть только одно значение или писать все в ручную, (значение column3, допустим 2 и ваше слово). Цитировать
 
 
+1 #5 Azat 2010-10-29 16:12 Цитирую Шелест Константин:
(значение column3, допустим 2 и ваше слово).


Пропишите, пожалуйста, его Константин.(а еще значение column3 не цифры, а слова) Спасибо.

Я пробовал варианты используя для связки своего слова и значения столбца знаки + ,(запятая)- но не получается.

Хочу одно свое слово и значение column3 для всех строк column1.
Цитировать
 
 
+7 #6 Шелест Константин 2010-10-29 18:02 ( Хочу одно свое слово и значение column3 для всех строк column1. ) Я только учусь, не знаю как это сделать.
Но как мне говорили преподаватели, в одной ячейке, может быть одно условие. А ты Azat хочешь впхнуть туда два условия. Но, если у тебя это получится, напиши пожалуйста как это выглядит. )))
Цитировать
 
 
+6 #7 Юрий Дяченко 2010-11-07 07:44 Цитирую Azat:
Подскажите, а как быть если в SET нужно вбить слова(а) и еще значение одного из столбцов.

UPDATE table_name
SET column1=CONCAT(column3,' слово моё')
WHERE some_column=some_value
Цитировать
 
 
+4 #8 Azat 2010-11-09 22:04 Огромное спасибо Юрий. Цитировать
 
 
-2 #9 HellDRG 2011-01-30 01:21 Подскажите, пожалуйста, а как правильно написать: у меня есть таблица
login pas
log1 1111
log2 2222

C помощи SQL нужно задать запрос:
UPDATE nameTable SET login='log3', pas='11111' WHERE (что мне нужно написать дальше, чтобы значение изменилось во второй строке, при условии того что мы не знаем содержимого таблицы)
Заранее спасибо)
Цитировать
 
 
-2 #10 Monarh 2011-02-25 12:35 Полностью согласен c Шелест Константином
Фраза: Цитата:
Итак, мы хотим обновить столбцы "Tjessem, Jakob" в таблице "Persons"..
- звучит некорректно !
На мой взгляд лучше написать так:
"Итак, мы хотим обновить столбцы Address и City строки с LastName='Tjessem' и FirstName='Jakob'"
Цитировать
 

Авторизация

Nice Ajax Poll

Какое из моих расширений самое лучшее?

Статистика



Реклама