Технология Microsoft ADO.NET

       

Команды изменения языка DML


Значения могут быть помещены и удалены из полей тремя командами языка DML (Язык Манипулирования Данными):

  • insert (вставить),
  • update (изменить),
  • delete (удалить).

Команда insert имеет свои особенности:

  • При указании значений конкретных полей вместо использования каких-либо значений можно применить ключевое слово DEFAULT
  • Вставка пустой строки приводит к добавлению пробела ' ', а не значения NULL
  • Строки и даты задаются в апострофах.
  • Не задавайте данные для столбца, имеющего свойство IDENTITY
  • Можно задать NULL явно, можно задать DEFAULT.

Примеры:

insert into ClientInfo (FirstName, LastName, Address, Phone) values('Petr','Petrov','Chehova 13','1234567');

Однократное выполнение этого запроса (нажатие клавиши F5 один раз) приводит к добавлению одной записи. Добавляем еще несколько записей, изменяя значения value:

insert into ClientInfo (FirstName, LastName, Address, Phone) values('Ivan',Ivanov,'Naberejnaya 13','1234568');

insert into ClientInfo (FirstName, LastName, Address, Phone) values(null,'Sidorov','Naberejnaya 25','1234569');

Извлечем все записи созданной таблицы (рис. 1.45).

select * from ClientInfo;


Рис. 1.45.  Все записи таблицы ClientInfo

Убедимся в том, что третья запись поля FirstName действительно содержит неопределенное значение null (а не строку NULL), c помощью запроса (рис. 1.46)

select * from ClientInfo where FirstName is null;


Рис. 1.46.  Таблица ClientInfo действительно содержит запись со значением поля First Name "NULL"

Команда update позволяет изменять заданные значения записей:

update ClientInfo set FirstName = 'Andrey' where FirstName = 'Petr';

В этом случае в первой записи поля FirstName значение Petr изменится на Andrey (рис. 1.47):


Рис. 1.47.  Изменение одной записи

Если не указывать значение, которое необходимо изменить, команда update затронет все записи (рис. 1.48).

update ClientInfo set FirstName = 'Andrey';


Рис. 1.48.  Изменение всех записей

Команда delete позволяет изменять заданные значения записей.


delete from ClientInfo where LastName like 'Petrov';



Результатом этого запроса будет удаление первой записи из таблицы ClientInfo.

delete from ClientInfo;

Этот запрос удаляет все записи из таблицы, но не удаляет саму таблицу (рис. 1.49):


Рис. 1.49.  Все записи удалены, но сама таблица осталась!

Запросы с командами insert, update и delete могут содержать в себе все прочие конструкции языка SQL.

  1)

  OLE - сокращение от Object Linking and Embedding (связывание и внедрение объектов) - применяется для обозначения технологии Microsoft, используемой для создания составных документов внедрением и связыванием.

  2)

  Слово "Борей" означает "Северный ветер". В комплект поставки Microsoft SQL Server и Microsoft Access традиционно входит база данных "Northwind", предназначенная специально для учебных целей. В переводе с англ. "Northwind" и есть северный ветер.

  3)

  SQL в оригинале произносится как "seequel". Впрочем, встречается и адаптированное произношение "эс-ку-эл(ь)".

  4)

  Если вы используете другую версию пакета Microsoft SQL, данные таблицы могут отличаться. Для определения соответствия импортируйте базу данных Types.mdb в свой пакет. База данных Types.mdb находится на диске, прилагаемом к книге (Code\Glava1 Types.mdb).

  5)

  Транзакция - серия запросов к базе, манипулирующая данными. Транзакцию, в отличие от обычного запроса, можно принять (и тогда вся серия запросов вступит в силу) или отклонить. Далее мы рассмотрим подробно это понятие.

  6)

  Здесь мы познакомимся только лишь с некоторыми понятиями языка SQL. Для полного изучения этого языка обращайтесь к специализированным руководствам.

  7)

  Вы можете также писать запросы, используя заглавные буквы, - SQL нечувствителен к регистру.

  8)

  Перед выполнением этого запроса убедитесь в том, что вы работаете с базой данных NorthwindCS. Или используйте команду use NorthwindCS.

Содержание раздела