Команды изменения языка 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.
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.