БазыДанных / Лаб_SQL / Lab_4_INS_DEL_UPDATE
.docЛабораторная работа № 4
Тема: Запросы на модификацию данных.
Цель работы: Изучить синтаксис инструкций SQL – INSERT, DELETE и UPDATE определяющие операции модификации данных. Реализовать сформулированные запросы с учетом свойств инструкций модификации. Закрепить навыки работы с SQL.
1. Добавить новую запись в таблицу:
Общий синтаксис инструкции добавления записи имеет вид
INSERT INTO <имя_таблицы> [ (<имя_столбца>,<имя_столбца>,...) ]
VALUES (<значение>,<значение>,..)
Список столбцов в данной команде не является обязательным параметром. В этом случае должны быть указаны значения для всех полей таблицы в том порядке, как эти столбцы были перечислены в команде CREATE TABLE, например:
INSERT INTO publishers
VALUES (16,"Microsoft Press","http://www.microsoft.com");
Пример с указанием списка столбцов:
INSERT INTO publishers (publisher,pub_id)
VALUES ("Super Computer Publishing",17);
2. Модификация записей:
Общий синтаксис инструкции изменения записи имеет вид
UPDATE <имя_таблицы> SET <имя_столбца>=<значение>,...
[WHERE <условие>]
Если задано ключевое слово WHERE и условие, то команда UPDATE применяется только к тем записям, для которых оно выполняется. Если условие не задано, UPDATE применяется ко всем записям. Пример:
UPDATE publishers SET url="http://www.superpub.com" WHERE pub_id=17;
В качестве условия используются логические выражения над константами и полями. В условиях допускаются:
-
операции сравнения: > , < , >= , <= , = , <> , != . В SQL эти операции могут применяться не только к числовым значениям, но и к строкам ( "<" означает раньше, а ">" позже в алфавитном порядке) и датам ( "<" раньше и ">" позже в хронологическом порядке).
-
операции проверки поля на значение NULL: IS NULL, IS NOT NULL
-
операции проверки на вхождение в диапазон: BETWEEN и NOT BETWEEN.
-
операции проверки на вхождение в список: IN и NOT IN
-
операции проверки на вхождение подстроки: LIKE и NOT LIKE
-
отдельные операции соединяются связями AND, OR, NOT и группируются с помощью скобок.
Подробно все эти ключевые слова описаны и проиллюстрированы в лабораторной работе, посвященной оператору SELECT. В данном случае ограничимся приведением несложного примера:
UPDATE publishers SET url="url not defined" WHERE url IS NULL;
Эта команда находит в таблице publishers все неопределенные значения столбца url и заменяет их строкой "url not defined".
3. Удаление записей
Общий синтаксис инструкции удаления записи имеет вид
DELETE FROM <имя_таблицы> [ WHERE <условие> ]
Удаляются все записи, удовлетворяющие указанному условию. Если ключевое слово WHERE и условие отсутствуют, из таблицы удаляются все записи. Пример:
DELETE FROM publishers WHERE publisher = "Super Computer Publishing";
Эта команда удаляет запись об издательстве Super Computer Publishing.
4. Задание к лабораторной работе
Замечания по ходу выполнения лабораторной работы.
Для просмотра результата выполнения запросов необходимо чтобы в таблицах были внесены данные соответствующими сформулированным запросам. При этом данные в запросах (даты, фамилии, количество и т.п.) могут быть изменены по факту внесенных данных в БД.
Реализовать следующие запросы средствами SQL:
-
Добавить в таблицу «Изделие» новую запись с данными по заданному изделию.
-
Добавить данные о новом заказчике.
-
Изменить цену изделию «Болт».
-
Добавить дату заказа (в случае если соответствующее поля не заполнено, т.е. на данный момент времени не было ни одного заказа).
-
Изменить количество поставок для изделия «Болт».
-
Удалить информацию о заказчиках и поставках, которые были заказаны до 31/12/2000 (учесть связь между таблицами «Заказ» и «Поставка», если не установлено каскадное удаление, то удалить с начало данные из таблицы «Поставка»).
-
Удалить информацию о поставках изделий «Болт» и «Гвоздь», которые заказывала фирма ООО «Рога и Копыта» (при этом данные о изделия и фирме оставить).
-
Удалить информацию о поставках, цена которых меньше 100 (удалить данные из таблиц «Поставка»).
5. Контрольные вопросы