Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OBDZ metod.doc
Скачиваний:
8
Добавлен:
11.11.2018
Размер:
1.02 Mб
Скачать

Лабораторна робота № 5.

Тема: «Додавання та знищення даних. Оновлення записів».

Мета: Навчити студентів створювати запити на модифікацію даних.

Зміст роботи: створити запити мовою sql з використанням інструкцій insert, delete, update.

Форма звіту:

    1. створені запити

    2. протокол лабораторної роботи

Теоретичні відомості

Інструкція INSERT INTO

Додає запис або записи в таблицю. Ця інструкція утворює запит на додавання записів. Синтаксис:

INSERT INTO призначення [IN зовнішняБазаДаних] [(поле_1[, поле_2[ ...]])]

SELECT [джерело.]поле_1[, поле_2[ ...]

FROM вираз

Запит на додавання одного запису:

INSERT INTO призначення [(поле_1[, поле_2[ ...]])]

VALUES (значення_1[, значення_2[ ...])

Тут: призначення - ім'я таблиці або запиту, в який додаються записи; зовнішняБазаДаних - шлях до зовнішньої бази даних; джерело - ім'я таблиці або запиту, звідки копіюються записи; поле_1, поле_2 - імена полів для додавання даних, якщо вони слідують за аргументом призначення або імена полів, з яких беруться дані, якщо вони слідують за аргументом джерело; вираз- імена таблиці або таблиць, звідки вставляються дані (цей вираз може бути ім'ям окремої таблиці або результатом операції INNER JOIN, LEFT JOIN або RIGHT JOIN, а також збереженим запитом); значення_1, значення_2 - значення, що додаються у вказані поля нового запису (кожне значення буде вставлено в поле, що займає те ж положення в списку: значення_1 вставляється в поле_1 в новому записі, значення_2 в поле_2 і т.д; кожне значення текстового поля слідує брати в лапки ('  '); для розділення значень використовуються коми).

Інструкцію INSERT INTO можна використовувати для додавання одного запису в таблицю за допомогою запиту на додавання одного запису. В цьому випадку інструкція містить ім'я і значення кожного поля запису.

Потрібно визначити всі поля запису, в які буде поміщено значення, і значення, для цих полів. Якщо поля не визначені, в бракуючі стовпці буде вставлено значення за умовчанням або значення Null. Записи додаються в кінець таблиці.

Інструкцію INSERT INTO можна також використовувати для додавання набору записів з іншої таблиці або запиту за допомогою пропозиції SELECT ... FROM. В цьому випадку, пропозиція SELECT визначає поля, що додаються у вказану таблицю призначення.

Аргументи джерело або призначення визначають таблицю або запит. При додаванні записів в таблицю в іншій базі даних необхідно використовувати пропозицію IN.

Запит на додавання записів копіює записи з однієї або декількох таблиць в іншу таблицю. Таблиці, які містять записи, що додаються, не змінюються.

Замість додавання існуючих записів з іншої таблиці, можна вказати значення полів одного нового запису за допомогою пропозиції VALUES. Якщо список полів опущений, пропозиція VALUES повинна містити значення для кожного поля таблиці, інакше інструкція INSERT не буде виконана. Необхідно використовувати додаткову інструкцію INSERT INTO з пропозицією VALUES для кожного нового запису, що додається.

От як можна додати в таблицю RASHOD новий запис

INSERT INTO RASHOD (N_RASH, DAT_RASH, KOLVO, TOVAR)

VALUES (45, "20.10.2007", 100, "Цукор")

Оскільки стовпці таблиці RASHOD вказані у повному складі і саме в тому порядку, в якому вони перераховані при створенні таблиці, оператор можна спростити:

INSERT INTO RASHOD

VALUES (45, “20.10.2007”, 100, “Цукор”)

Інструкція UPDATE

Створює запит на оновлення, який змінює значення полів вказаної таблиці на основі заданої умови відбору. Синтаксис:

UPDATE таблиця SET поле1=вираз1 [,поле2=вираз2 ,]

WHERE умоваВідбора;

Тут: таблиця - ім'я таблиці, дані в якій слід змінити; поле1, поле2 . - імена полів, значення яких повинні бути змінені; вираз1, вираз2 . - вирази, що визначають значення, які повинні бути вставлені у вказані поля оновлених записів; умоваВідбора - вираз, що відбирає записи, які повинні бути змінені. При виконанні цієї інструкції будуть змінені тільки записи, що задовольняють вказаній умові.

Інструкцію UPDATE особливо зручно використовувати для зміни відразу багатьох записів або в тому випадку, якщо записи, що підлягають зміні, знаходяться в різних таблицях. Одночасно можна змінити значення декількох полів.

При корегуванні кожному з перерахованих стовпців привласнюється відповідне значення. Корегування виконується для всіх записів, що задовольняють умові пошуку, яка задається також, як в операторі SELECT.

Замінити дату на «24.10.2007» і збільшити кількість відпущеного товару на 2 одиниці для всіх записів з датою «20.10.2007» в таблиці RASHOD можна таким чином:

UPDATE RASHOD

SET DAT_RASH = «24.10.2007»

KOLVO = KOLVO+2

WHERE DAT_RASH = «20.10.2007»

Інструкція DELETE

Створює запит на видалення записів, призначений для видалення записів з однієї або декількох таблиць, перерахованих в пропозиції FROM, які задовольняють пропозиції WHERE. Синтаксис:

DELETE [таблиця.*] FROM таблиця WHERE умоваВідбора

Тут: таблиця - необов'язкове ім'я таблиці, з якої віддаляються записи; таблиця - ім'я таблиці, з якої віддаляються записи; умоваВідбора -вираз, визначаючий записи, що видаляються.

При вживанні інструкції DELETE, видаляються тільки дані. Структура таблиці і вся решта її властивостей, такі як атрибути полів і індекси, зберігається.

Щоб видалити з таблиці RASHOD всі записи про витрату товару «Пепсі» за дату «20.10.2007», використовуємо оператор:

DELETE FROM RASHOD

WHERE (TOVAR = “Пепсі”)

AND (DAT_RASH = “20.10.2007”)

Інструкцію DELETE можна використовувати для видалення записів з таблиць, зв'язаних відношенням "один-до-багатьох" з іншими таблицями.

Операції каскадного видалення приводять до видалення записів з таблиць, що знаходяться на стороні відношення "багато", коли в запиті віддаляється відповідний їм запис на стороні "один".

Примітки:

  • Не можна відновити записи, видалені за допомогою запиту на видалення. Щоб узнати, які записи будуть видалені, необхідно проглянути спочатку результати запиту на вибірку, що використовує ті ж самі умова відбору, а потім тільки виконати запит на видалення.

  • Регулярно виконуйте резервування даних. Ненавмисно видалені записи можуть бути відновлені по резервній копії.

Контрольні питання

  1. Який оператор використовується для додавання записів в таблиці?

  2. Приведить формат запису оператора INSERT?

  3. Які існують особливості при додаванні записів текстового формату, дати, часу?

  4. За допомогою якого оператора можна змінити записи в таблиці?

  5. В якому випадку при виконанні оператора UPDATE будуть змінені всі записи таблиці?

  6. Коли слід використовувати оператор DELETE?

  7. Чим відрізняються оператори DROP та DELETE?

Варианти завдань

Вариант 1

  1. Додати інформацію про нове видавництво.

  2. Змінити ПІБ головного редактора видавництва «Мир».

  3. Вартість номерів журналів збільшити на 20 %.

  4. Змінити адресу заданому передплатнику.

  5. Скопіювати в нову таблицю інформацію про видання видавництва «Мир».

  6. Видалити інформацію про видання видавництва «Мир».

Вариант 2

  1. Додати інформацію про новий вид тканин.

  2. Змінити телефон заданому замовнику.

  3. Зменшити на 15% ціни на тканини виробника «Чернівчанка».

  4. Збільшити на 10 гривень вартість пошиву чоловічих костюмів.

  5. Скопіювати в нову таблицю інформацію про замовників , у яких не вказан телефон.

  6. Видалити інформацію про вироби, які задні назвою.

Вариант 3

  1. Додати інформацію про новий стадіон.

  2. Змінити амплуа заданому гравцю.

  3. Переіменувати місто Жданов на Маріупіль.

  4. Видалити інформацію про звільненого гравця.

  5. Скопіювати в нову таблицю інформацію про персонал «Чорноморця»

  6. Видалити всю інформацію про задану команду.

Вариант 4

  1. Додати інформацію про новий промисел.

  2. Змінити прізвище майстра Попова на Кучеренко.

  3. Змінити адресу заданому майстру.

  4. Видалити інформацію про вироби з назвою «Намисто».

  5. Скопіювати в нову таблицю інформацію про вироби заданого майстра.

  6. Видалити інформацію про вироби заданого майстра.

Вариант 5

  1. Додати інформацію про новий предмет.

  2. Змінити прізвище викладачу Новіковій на Гордейчук.

  3. Змінити назву заданій кафедрі.

  4. Видалити інформацію про заданого викладача.

  5. Скопіювати в нову таблицю інформацію про викладачів кафедри фізіки.

  6. Видалити інформацію про викладачів кафедри фізіки.

Вариант 6

  1. Додати інформацію про новий вид виробів.

  2. Змінити телефон виробнику «Світоч».

  3. Зменшити на 15% ціни на вироби заданого виробника.

  4. Видалити інформацію про вироби з назвою «Торт Київський».

  5. Скопіювати в нову таблицю інформацію про вироби заданого виробника

  6. Видалити інформацію про вироби заданого виду.

Вариант 7

  1. Додати інформацію про нове видавництво.

  2. Змінити телефон головному редактору заданого видавництва.

  3. Збільшити на 10% ціни на всі книги.

  4. Скопіювати в нову таблицю інформацію про авторів з Росії.

  5. Видалити інформацію про жанр «Детектив».

  6. Видалити інформацію про книги заданого автора.

Вариант 8

  1. Додати інформацію про нового споживача.

  2. Збільшити на 10% ціни на всі товари.

  3. Збільшити на 10% ціни на товари заданого виробника.

  4. Скопіювати в нову таблицю інформацію про споживачів, у яких не вказан телефон.

  5. Видалити інформацію про заданого споживача.

  6. Видалити інформацію про накладні за 2007 рік.

Вариант 9

  1. Додати інформацію про нового замовника.

  2. Збільшити на 20 гривень вартість всіх перевезень.

  3. Змінити телефон заданому виконавцю.

  4. Скопіювати в нову таблицю інформацію про транспорт, випущених раніше 200 року.

  5. Видалити інформацію про заданий тип замовлень.

  6. Видалити інформацію про неоплачені замовлення.

Вариант 10

  1. Додати інформацію про новий матеріал.

  2. Збільшити на 10% ціни на цеглю.

  3. Зменшити на 15% витрату всіх маиеріалів на заданий об’єкт.

  4. Скопіювати в нову таблицю інформацію про об’єкти по вулиці Леніна.

  5. Видалити інформацію про цемент.

  6. Видалити інформацію про заданий об’єкт.

Вариант 11

  1. Додати інформацію про нового замовника.

  2. Збільшити на 10% ціни на всі книги.

  3. Зменшити ціни на книги заданого автора.

  4. Скопіювати в нову таблицю інформацію про замовників, у яких не вказан телефон.

  5. Видалити інформацію про країну «Угорщина»

  6. Видалити інформацію про замовлення 2007 року.

Вариант 12

  1. Додати інформацію про новий відділ.

  2. Збільшити на 10% максимальний оклад доцента.

  3. Збільшити на 5 кількість співробітників першого відділу.

  4. Скопіювати в нову таблицю інформацію про співробітників з середньою освітою.

  5. Видалити інформацію про відділ №10.

  6. Видалити інформацію про звільненого співробітника.

Вариант 13

  1. Додати інформацію про новий вид спорту.

  2. Додати інформацію про нового спортсмена.

  3. Змінити звання Петрову Андрію на «майстер спорта».

  4. Скопіювати в нову таблицю інформацію про спортсменів кандидатів в майстри спорту.

  5. Скопіювати в нову таблицю інформацію про тренерів по футболу.

  6. Видалити інформацію про заданого спортсмена.

Вариант 14

  1. Додати інформацію про новий колір.

  2. Збільшити на 10% ціни на автомобілі, випущені в минулому році.

  3. Змінити телефон заданоиу клієнту.

  4. Скопіювати в нову таблицю інформацію про моделі фірми «Тойота».

  5. Видалити інформацію про заданого клієнта.

  6. Видалити інформацію про рахунки за січень 2008 року.

Вариант 15

  1. Додати інформацію про нового замовника.

  2. Збільшити на 10% ціни на кімнатні рослини.

  3. Змінити адресу співробітнику Попову П.П.

  4. Скопіювати в нову таблицю інформацію про морозостійкі рослини.

  5. Видалити інформацію про заданого замовника.

  6. Видалити інформацію про договори минулого року.

Вариант 16

  1. Додати інформацію про нову тему.

  2. Змінити посаду заданого учасника.

  3. Перенести всі доповіді за 23.02.08 на 25.02.08.

  4. Скопіювати в нову таблицю інформацію про учасників конференції з Росії.

  5. Видалити інформацію про задану країну.

  6. Видалити всю інформацію про доповіді.

Вариант 17

  1. Додати інформацію про нового виробника.

  2. Змінити телефон Попову А.А.

  3. Збільшити на 10% ціни на всі телевізори.

  4. Скопіювати в нову таблицю інформацію про товари заданого виробника.

  5. Видалити інформацію про замовлення минулого року.

  6. Видалити всю інформацію про клієнтів.

Вариант 18

  1. Додати інформацію про нове відділення.

  2. Змінити телефон заданому пацієнту.

  3. Змінити назву відділення «Терапія» на «Терапевтичне».

  4. Скопіювати в нову таблицю інформацію про пацієнтів старше 60 років.

  5. Видалити інформацію про заданого лікаря.

  6. Видалити інформацію про лікарів хірургічного відділення.

Вариант 19

  1. Додати інформацію про нову кафедру.

  2. Змінити посаду заданому викладачу.

  3. Змінити назву кафедри «Математики» на «Вищої математики».

  4. Скопіювати в нову таблицю інформацію про викладачів кафедри програмування.

  5. Видалити інформацію про звільненого викладача.

  6. Видалити інформацію про видання минулого року.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]