До сих пор мы просто извлекали самыми разными способами данные из таблиц. Пришло время изучить как они туда попадают.
Значения могут быт помещены и удалены из полей, тремя командами:
Все строки вводятся с использованием команды INSERT. В самой простой форме используется следующий синтаксис:
INSERT INTO table_name VALUES ( value, value, ... )Так для того чтобы добавить запись в таблицу торговых агентов можно использовать команду:
INSERT INTO Salespeople VALUES( 1008, 'Johnson', 'London', 12 )
INSERT INTO Salespeople VALUES ( 1009, 'Peel', NULL, 12 )
INSERT INTO Customers( city, cname, cnum ) VALUES( 'Новосибирск', 'Петров', 2010 )Обратите внимание, что столбцы rating и snum отсутствуют. Это значит, что во вставленной записи им будет присвоено значение по умолчанию. Обычно это NULL или значение указанное при создании таблицы. Более подробно мы это рассмотрим далее.
INSERT INTO MoscowStaff SELECT * FROM Salespeople WHERE city = 'Москва'Здесь выбираются все строки из таблицы "Торговые агенты" со значениями city = 'Москва' и помещаются в таблицу MoscowStaff. Чтобы это сработало таблица MoscowStaffдолжна отвечать следующим условиям:
Для удаления строк из таблицы используется команда DELETE. Она удаляет не отдельные значения, а строки целиком. Чтобы удалить все содержание таблицы агентов вы можете ввести команду:
DELETE FROM SalespeopleНо я пока не рекомендую Вам этого делать.
DELETE FROM Salespeople WHERE snum = 1007Разумеется, если условию будет соответствовать несколько записей, все они будут удалены.
В отличие от файловых СУБД типа DBASE, SQL Server не помечает записи как удаленные, а удаляет их физически, т.е. восстановлению они не подлежат. Будьте осторожны с командой DELETE!
Команда UPDATE позволяет изменять некоторые или все значения в существующей записи в таблице. Эта команда содержит предложение UPDATE, за которым указывается имя таблицы, и предложение SET, которое указывает на изменение которое нужно сделать для определенного столбца. Например, чтобы изменить рейтинги всех заказчиков на 200 можно ввести команду:
UPDATE Customers SET rating = 200
UPDATE Customers SET rating = 300 WHERE snum = 1001
Теперь мы изучили три команды, которые управляют содержимым БД. Если добавить к этому долгое изучение запросов, то выходит что мы основы SQL уже позади. Что будет дальше? Как говорят в американских шоу: "Дальше вы увидите:"