Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Внесение изменений в базу данных



Вставка

Вставка в таблицу базы данных осуществляется с помощью запросов такого типа:

INSERT INTO ТАТЛИЦА (ПОЛЕ_1,ПОЛЕ_2,…,ПОЛЕ_N)

VALUES (ЗНАЧЕНИЕ_1, ЗНАЧЕНИЕ_2,…, ЗНАЧЕНИЕ_N)

В скобках после имени таблицы перечисляются поля, в которые нужно вставить данные, а в скобках после предложения VALUES – значения, которые нужно вставить в соответствующие поля таблицы, перечисленные выше. Вставка осуществляется таким образом, что первое из перечисленных значений встает в поле, перечисленное в списке полей первым, второе во второе и т.д. Из всего казанного можно сделать вывод о том, что значения, перечисленные в предложении VALUES должны быть совместимы с полями таблицы, в которую осуществляется вставка.

Например, добавим в таблицу покупателей новую запись. Для этого напишем запрос следующего вида:

INSERT INTO Buyer (BNum, BName, BTown)

VALUES (6, "Маркет", 4)

В результате мы добавили покупателя с номером – 6, наименованием – Маркет, с номером города – 4.

Нередко вместо предложения VALUES используют запрос типа SELECT, результатом которого является набор значений полей, удовлетворяющих набору перечисленных полей таблицы, в которую осуществляется вставка. Предположим, что в нашей базе данных есть еще одна таблица точно такая же по структуре, что и таблица Buyer, с названием otherBuyer. Нам нужно вставить в таблицу Buyer все записи из таблицы otherBuyer. Для этого напишем запрос:

INSERT INTO Buyer (BNum, BName, BTown)

SELECT * FROM otherBuyer

Изменение данных

Структура запроса внесения изменений в записи таблицы выглядит следующим образом:

UPDATE ТАБЛИЦА

SET ПОЛЕ_1 = ЗНЕНИЕ_1

ПОЛЕ_2 = ЗНЕНИЕ_2

ПОЛЕ_N = ЗНЕНИЕ_N

WHERE УСЛОВИЕ

Все изменения, описанные в запросе, коснутся только тех записей, которые удовлетворяют условию, описанному в предложении WHERE. Если нужно внести изменения во всю таблицу, то предложение WHERE не описывают.

Например, увеличим цены товаров в два раза, относящихся к первой группе. Текст запроса будет таким:

UPDATE Goods

SET GPrice=GPrice*2

WHERE GTypeNum=1

В предложении WHERE можно использовать подзапросы.

Так же подзапросы можно использовать в предложении SET после имени поля и знака равенства. Результатом подзапроса должно быть одно значение поля, совместимого с полем указанным перед знаком равенства. Например, пересчитаем сумму в таблице покупок.

UPDATE Sells

SET SSum= SQnty*(Select Gprice FROM Goods)

WHERE GNum=1)

WHERE GNum=1

Опасность такого запроса заключается в том, что если результатом подзапроса буден несколько значений, то в запрос выполнен не будет. Возникнет ошибка. Поэтому при написании запроса такого типа надо быть уверенным, что результат подзапроса – это одно поле.

Удаление

Для удаления используются запросы типа Delete:

DELETE FROM ТАБЛИЦА

WHERE УСЛОВИЕ

Предложение WHERE также является дополнительным разделом. Однако без него такие запросы используются редко, так как отсутствие условия означает в удаление всех записей таблицы!

Приведем пример использования запроса типа Delete. Удалим всех покупателей из таблицы покупателей, которые относятся к городу Москва.

DELETE FROM Buyer

WHERE BTown IN (SELECT TNum FROM touns

WHERE TName = "Москва")





Дата публикования: 2015-10-09; Прочитано: 473 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.008 с)...