Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
21
Добавлен:
03.06.2015
Размер:
718.47 Кб
Скачать

Оператор SELECT INTO

Можно использовать любые опции и предложения оператора SELECT, включая WHERE и GROUP BY.

Для добавления данных из нескольких таблиц можно использовать объединения.

Данные можно добавить только в одну таблицу независимо от того, из скольких таблиц они были извлечены.

Оператор SELECT INTO является прекрасным средством создания копий таблиц для экспериментов с новыми для вас операторами SQL.

Создав копию, вы получите возможность проверить возможности SQL на этой копии, а не на таблицах реальной базы данных.

11

В СУБД MySQL и Oracle используется несколько иной синтаксис:

CREATE TABLE CustCopy AS

SELECT *

FROM Client

12

Обновление данных. Оператор UPDATE

Для обновления (модификации) данных какой-либо таблицы используется оператор UPDATE.

Этот оператор можно использовать двумя способами:

1)для обновления определенной строки таблицы;

2)для обновления нескольких строк таблицы

13

Синтаксис UPDATE

Оператор UPDATE очень прост в использовании, он состоит из трех основных частей:

1)имени таблицы, подлежащей обновлению;

2)имен столбцов и их новых значений;

3)условий фильтрации, определяющих, какие именно строки должны быть обновлены.

UPDATE Имя_Таблицы

SET Список_полей WHERE Условие

UPDATE Студент

SET

Фамилия = ’Иванов’, Имя = ’Иван’

WHERE id = 124

14

Пример

У студента Иванова (id=193) появился адрес электронной почты: iii@mail.ru , поэтому его запись нужно исправить

 

Если выполнить

 

 

 

 

UPDATE Студент

 

 

запрос:

 

SET email = ’iii@mail.ru’

 

 

То у всех студентов с

 

WHERE Фамилия = ’Иванов’

 

 

 

 

 

 

 

 

 

 

фамилией “Иванов” появится один и тот же адрес: iii@mail.ru

Правильный вариант

 

 

 

 

 

 

UPDATE Студент

 

 

запроса должен

 

SET email = ’iii@mail.ru’

 

 

использовать ключ:

 

 

 

 

 

WHERE id = 193

 

 

 

 

 

 

Если же условие вообще не указывать, то этот адрес будет вписан во все строки таблицы Студент

15

Удаление данных. Оператор DELETE

Для удаления строк из таблицы применяется оператор DELETE

Применять оператор DELETE следует с особой осторожностью, потому что можно ошибочно удалить все строки таблицы.

Оператор DELETE удаляет из таблицы отдельные строки или даже все строки за один раз, но никогда не удаляет саму таблицу.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DELETE

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DELETE FROM

Студент

 

 

 

FROM

Имя_Таблицы

 

 

 

WHERE id =

193

 

 

 

 

WHERE

Условие

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- удаляет все строки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DELETE FROM Студент

 

 

 

 

 

 

 

 

 

 

Таблицы Студент

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16

Быстрое удаление всех строк. Оператор TRUNCATE

Если необходимо удалить значения из всех строк таблицы, не используйте оператор DELETE. Вместо него нужно применить оператор TRUNCATE TABLE, который выполняет то же самое, но делает это намного быстрее

TRUNCATE TABLE Студент

17

Правила использования DELETE и UPDATE

Никогда не выполняйте оператор UPDATE или DELETE без предложения WHERE, если только вы на самом деле не хотите обновить или удалить каждую строку.

Используйте первичный ключ в предложении WHERE всякий раз, когда это оказывается возможным. (Вы можете указать отдельные первичные ключи, несколько значений или диапазоны значений.)

Прежде чем использовать предложение WHERE с оператором UPDATE или DELETE, сначала проверьте его с оператором SELECT, чтобы убедиться в том, что оно правильно фильтрует записи.

Используйте средства принудительного обеспечения ссылочной целостности данных, чтобы СУБД не позволяла удалять строки, для которых в других таблицах имеются связанные с ними данные.

Некоторые СУБД позволяют администраторам БД устанавливать ограничения, препятствующие выполнению операторов UPDATE или DELETE без предложения WHERE. Используйте это.

18

Соседние файлы в папке Управл_данными