UPDATE
UPDATE - это команда, необходимая для редактирования элементов в базе данных.
Добавим-ка новую строку в нашу таблицу:
insert Autopark
(CarName, CarPrice)
values ('Ferrari', 600000)
GO
Как видим, мы добавили нашу строку пользуясь тем, что поля, которые мы тут явно не указали, допускают значение NULL.
А теперь давайте отредактируем все элементы, у которых поле CarName будет равно 'Ferrari':
update Autopark
set CarColor = 'red', CarDate = '01/01/2017' -- присвоить полям новые значения.
where CarName = 'Ferrari' -- ограничение по полю CarName. Если не уточнить по какому полю менять значение - оно изменится во всём столбце.
GO
строка
update Autopark
указывает нам на то, что редактировать мы будем именно таблицу Autopark, а не что-то другое. Затем, используя ключевое слово SET мы присваеваем полям CarColor и CarDate определённые значения. И конечно же ставим ограничение WHERE, в котором явно указываем к каким именно строкам будет применено данное изменение. Как указано в комментарии, в случае если Вы забудете установить ограничение, все строки в таблице убдут подвержены изменениям, в результате чего все поля CarColor и CarDate примут значения 'red' и '01/01/2017'.
DELETE и TRUNCATE
DELETE - это команда, цель которой, логично, является удаление определённых полей или элементов. В случае использования данной команды в таблице, мы будем удалять строки.
Если мы хотим удалить все элементы из таблицы (проще говоря, очистить таблицу), нам понадобится следующая команда:
delete Autopark
GO
В результате наша таблица Autopark станет абсолютно пустой. Однако использовать эту команду для очищения всех полей в таблице не рекоммендуется, поскольку работает она достаточно медленно, и когда нам понадобится очистить какую-то особо крупную таблицу, то её очищение путём использования команды DELETE займёт слишком много времени. Если Вам необходимо очистить таблицу, то намного лучше использовать другую команду, а именно - TRUNCATE.
truncate table Autopark
go
Данная команда будет выполняться значительно быстрее и выполняет ту же самую функцию что и DELETE в контексте целой таблицы.
В случае если мы хотим убрать только определённые строки в таблице, мы должны поставить ограничение на удаление через наше любимое ключевое слово WHERE:
delete Autopark
where CarPrice < 200000
GO
В результате все строки, в которых поле CarPrice имеет значение меньше чем 200000 будут удалены, а остальные строки, не подходящие под "категорию отсева" изменения никак не затронут.
Самые внимательные из вас могли бы заметить, что в коде я использовал одни и те же ключевые слова в разных регистрах. Если Вы пробовали сделать то же самое, Вы не могли не заметить, что команды, написанные в нижнем регистре, выполняются с таким же успехом, что и команды, написаные в высшем регистре. Отсюда мы делаем вывод, что язык SQL абсолютно не чувствителен к регистру.