Академический Документы
Профессиональный Документы
Культура Документы
Команды DML
Команда INSERT
Базовый синтаксис: INSERT, имя таблицы, список столбцов, VALUES, а затем список
добавляемых значений. Два дефиса в начале строки означают, что строка является
примечанием и текст не будет обрабатываться компилятором. В этом случае
примечание описывает возможные варианты синтаксиса.
Вставка данных в таблицу
-- Standard syntax
INSERT dbo.Products (ProductID, ProductName, Price, ProductDescription)
VALUES (1, 'Clamp', 12.48, 'Workbench clamp')
GO
1
2. В следующей инструкции показано, как можно изменить порядок, в котором
приведены параметры, изменив
расположение ProductID и ProductName одновременно как в списке полей (в
круглых скобках), так и в списке значений.
UPDATE dbo.Products
SET ProductName = 'Flat Head Screwdriver'
2
WHERE ProductID = 50
GO
После ключевого слова SET должен идти список столбцов таблицы, которые следует изменить, и
новые значения в формате Имя_столбца = значение.
Дополнительное условие, описываемое в операторе SQL WHERE, помогает более гибко совершать
манипуляции данными.
Пример 1. С помощью оператора SQL UPDATE изменить название планеты Neptune на Pluton:
UPDATE Planets
WHERE ID = 3
В этом примере условие оператора SQL WHERE является обязательным, так как без него все поля
столбца PlanetName во всей таблице изменились бы на Pluton. В данном случае, нам приходит на
помощь столбец ID, ибо он является Первичным ключом, позволяющим однозначно
идентифицировать запись.
SELECT *
FROM Planets
WHERE ID = 3
3
Результат:
Пример 2. С помощью оператора SQL UPDATE у первых трех записей таблицы изменить значение
наличия колец (HavingRings) на «No» и обнулить поле ID
Оператор DELETE
Оператор DELETE удаляет строки из временных или постоянных базовых таблиц, представлений
или курсоров, причем в двух последних случаях действие оператора распространяется на те
базовые таблицы, из которых извлекались данные в эти представления или курсоры. Оператор
удаления имеет простой синтаксис:
Если предложение WHERE отсутствует, удаляются все строки из таблицы или представления
(представление должно быть обновляемым). Более быстро эту операцию (удаление всех строк из
таблицы) в Transact-SQL можно также выполнить с помощью команды
Пример. Требуется удалить из таблицы Laptop все ПК-блокноты с размером экрана менее 12
дюймов.
4
Все блокноты можно удалить с помощью оператора
или
При помощи источника табличного типа можно конкретизировать данные, удаляемые из таблицы
в первом предложении FROM.
При помощи этого предложения можно выполнять соединения таблиц, что логически заменяет
использование подзапросов в предложении WHERE для идентификации удаляемых строк.
Поясним сказанное на примере. Пусть требуется удалить те модели ПК из таблицы Product, для
которых нет соответствующих строк в таблице PC.
Заметим, что предикат type='pc' необходим здесь, чтобы не были удалены также модели
принтеров и ПК-блокнотов.
Здесь используется внешнее соединение, в результате чего столбец pc.model для моделей ПК,
отсутствующих в таблице PC, будет содержать NULL-значение, что и используется для
идентификации подлежащих удалению строк.
5
Приложение (Схема БД клиентов):