16974

Внесення змін в базу даних

Практическая работа

Информатика, кибернетика и программирование

Практична робота №16 Тема: Внесення змін в базу даних. Мета: Навчитися вносити зміни в базу даних використовуючи команди INSERT UPDATE DELETE. Обладнання: персональний комп'ютер з встановленою операційною системою Windows система управління базами даних Access або Ms SQL Server. ...

Украинкский

2013-06-28

52.5 KB

2 чел.

Практична робота №16

Тема: Внесення змін в базу даних.

Мета: Навчитися вносити зміни в базу даних, використовуючи команди INSERT, UPDATE, DELETE.

Обладнання: персональний комп'ютер з встановленою операційною системою Windows система управління базами даних Access або Ms SQL Server.

  1.  Правила ТБ.
  2.  Методичні  рекомендації.

   Підзапити в операторі INSERT

Підзапити можуть використовуватися і з операторами мови маніпуляцій даними (DML). Першим з таких операторів ми розглянемо оператора INSERT. Оператор INSERT використовує дані, що повертаються підзапитом, для приміщення їх в іншу таблицю. Вибрані в підзапиті дані можна модифікувати за допомогою символьних або числових функцій, а також функцій дат і часу.

Базовий синтаксис відповідного оператора повинен бути наступним.

INSERT INTO имя_таблицы [ (столбец1 [, столбец2 ]) ]

SELECT [ *| столбец1 [, столбец2 ]]

FROM таблица1 [, таблица2 ]

[ WHERE значення ОПЕРАЦІЯ значення ]

Приклад використовування оператора INSERT з підзапитом.

INSERT INTO RICH_EMPLOYEES 

SELECT E.EMP_ID, E.LAST_NAME, E.FIRST_NAME EP.PAY_RATE 

FROM EMPLOYEE_TBL E, EMPLOYEE_PAY_TBL EP 

WHERE E.EMP_ID = EP.EMP_ID AND EP.PAY_RATE > (SELECT PAY_RATE 

     FROM EMPLOYEE_PAY_TBL 

WHERE E.EMP_ID = '220984332'); 

2 рядки створені. 

Цей оператор INSERT вставляє значення EMP_ID, LAST_NAME, FIRST_NAME і PAY_RATE в таблицю RICH_EMPLOYEES для всіх службовців, норма оплати праці яких перевищує норму оплати праці службовця з табельним номером 220984332.

   Підзапити в операторі UPDATE

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

Базовий синтаксис оператора наступний.

UPDATE таблиця 

SET имя_столбца [, имя_столбца ] = 

(SELECT имя_столбца [,имя_столбца ]

FROM таблиця

[ WHERE] )

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

SELECT EMP_ID 

FROM EMPLOYEE_TBL 

WHERE CITY = 'INDIANAPOLIS'; 

Цей запит буде використаний як підзапит в наступному операторі UPDATE. Ось цей оператор UPDATE з підзапитом.

UPDATE EMPLOYEE_PAY_TBL 

SET PAY_RATE = PAY_RATE * 1.1 

WHERE EMP_ID IN (SELECT EMP_ID 

                FROM EMPLOYEE_TBL 

                WHERE CITY = 'INDIANAPOLIS'); 

4 рядки оновлені. 

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

    Підзапити в операторі DELETE

Підзапити можна використовувати в операторі DELETE. Базовий синтаксис оператора наступний.

DELETE FROM имя_таблицы   

[ WHERE ОПЕРАЦІЯ [значення ]   

(SELECT имя_столбца   

FROM имя_таблицы   

[WHERE]) 

У наступному прикладі з таблиці EMPLOYEE_PAY_TBL віддаляється запис з інформацією про службовця на ім'я BRANDON GLASS. Табельний номер цього службовця не відомий, але можна створити підзапит, який знайде цей номер в таблиці EMPLOYEE_TBL по значеннях стовпців з іменами (FIRST_NAME) і прізвищами (LAST_NAME) службовців.

DELETE FROM EMPLOYEE_PAY_TBL

WHERE EMP_ID = (SELECT EMP_ID

                     FROM EMPLOYEE_PAY_TBL

                     WHERE LAST_NAME = 'GLASS' AND FIRST_NAME = 'BRAHDON'); 

1 рядок оновлено.

Не забувайте використовувати в операторах UPDATE і DELETE ключове слово WHERE. Якщо останнє не використовувати, будуть оновлені або видалені дані всіх стовпців.

  1.  Індивідуальне завдання

Складіть  запити, використовуючи таблиці PREDMET, STUDENTS, TEACHERS, USP

  1.  Вставте інформацію про середній бал кожного студента, інформацію вивести у вигляді нової таблиці.
  2.  Видаліть інформацію про викладачів,  в прізвищі яких є буква «а».  

DELETE FROM TEACHERS

WHERE TFAM LIKE  "*а*";

TEACHERS

TNUM

TFAM

TIMA

TOTCH

TDATE

4002

Петров

Олег

Володимирович

01.09.1997

4003

Сидоров

Віталій

Володимирович

01.09.1988

4004

Петренко

Любов

Олексіївна

01.09.1988

  1.  Видаліть інформацію про предмети, які вивчаються на першому курсі.

DELETE FROM PREDMET

WHERE COURS =1;

PREDMET

PNUM

PNAME

TNUM

HOURS

COURS

2004

Філософія

4005

17

2

2005

Економіка

4004

17

3

  1.  Видаліть інформацію про студентів, які одержали оцінку 5 по будь-якому предмету.

  1.  Змініть стипендію студенту на 185 з кодом 3415.
  2.  Призначте  стипендію  25 грн. студентам які не одержують  стипендію.
  3.  Збільште розмір стипендії на 50% студентам, у яких є оцінки не менше, ніж по двох предметах.

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

  1.  Які оператори відносять до мови маніпуляцій даними (DML)?
  2.  Що таке підзапити?
  3.  Пояснити різницю між діями операторів INSERT та UPDATE?
  4.  Використання функції DELETE в під запитах та без підзапитів ? 

  1.  Оформлення звіту.
  2.  Захист роботи.


 

А также другие работы, которые могут Вас заинтересовать

37755. ГРАДУИРОВАНИЕ ЭЛЕКТРОСТАТИЧЕСКОГО ВОЛЬТМЕТРА С ПОМОЩЬЮ ЭЛЕКТРОМЕТРА ТОМСОНА 157 KB
  ТЧЁТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 13 ГРАДУИРОВАНИЕ ЭЛЕКТРОСТАТИЧЕСКОГО ВОЛЬТМЕТРА С ПОМОЩЬЮ ЭЛЕКТРОМЕТРА ТОМСОНА Цель работы: Градуирование шкалы электростатического вольтметра с помощью абсолютного электрометра Томсона т. Стержень крепится к металлическому корпусу В вольтметра с помощью вмонтированной в него пробки из изоляционного материала. Если такой вольтметр проградуировать то им можно измерять разность потенциалов между любыми двумя проводниками...
37758. Програмування в Java 172 KB
  Поздоровляю вас зі вступом в ряди програмістів на Java — розроблювачів технології початку XXI століття. Всі уроки ви повинні прочитувати вдома, а на лекції і лабораторних роботах ви повинні звітуватися за виконані завдання. Перше серйозне завдання ви знайдете в кінці Уроку 2. Всі завдання індивідуальні, щоб одержати залік в кінці семестру їх треба обовязково виконати
37759. ВЫБОР РАЦИОНАЛЬНОЙ ДЛИНЫ ПАКЕТА СЕТИ ЭВМ 2.41 MB
  2 Теоретическая часть Для сообщений передаваемых в сети ЭВМ длина пакета выбирается постоянной. Длина пакета не может быть слишком малой поскольку при фиксированной длине служебной части заголовка пакета снижается доля информации сообщения передаваемая в одном пакете. При большой длине пакета и заданной достоверности передачи данных в канале связи повышается вероятность передачи пакета с ошибкой и следовательно частота повторной передачи пакета что снижает эффективность сети ЭВМ а также возрастает доля потерь памяти изза...
37760. ОТРАВЛЯЮЩИЕ ВЕЩЕСТВА РАЗДРАЖАЮЩЕГО ДЕЙСТВИЯ. КЛИННИКА, ДИАГНОСТИКА, ЛЕЧЕНИЕ 70.5 KB
  Уже в первой мировой войне почти все воюющие страны применяет различные ОВ, избирательно действующие на окончания чувствительных нервов в верхних дыхательных путях с последующей реакцией организма в виде слезотечения, кашля, рвоты, затрудненного, дыхания и т.д
37761. Исследование разветвленной линейной электрической цепи постоянного тока 109.5 KB
  Цель работы Экспериментальная проверка законов Кирхгофа и основных свойств линейных цепей постоянного тока. Экспериментальная часть Схема установки R1 = 100 Ом R2 = 50 Ом R3 = 25 Ом Е1 = 75 В E2 = 10 В Проверка законов Кирхгофа Измерено Вычислено I1 I2 I3 Ik 009 016 0065 0005 I1 I2 I3 = 0.065 А Вывод: Экспериментально были проверены законы Кирхгофа. Выставив необходимые значения сопротивлений и проведя необходимые измерения и...
37762. Измерение вязкости жидкости по методу падающего шарика 45.5 KB
  Измерение температуры жидкости t= 0C Расчет искомой величины. Расчет плотности материала шариков 2. Расчет вязкости жидкости Расчет границы погрешностей. Расчет границы абсолютной погрешности результата измерения плотности материала шариков Расчет границы относительной погрешности результата измерения вязкости жидкости Расчет границы абсолютной погрешности результата измерений плотности Окончательный результат: вязкость жидкости при температуре t= 0C.
37763. Методы противодействия радиоэлектронным закладным устройствам, предназначенным для снятия конфиденциальной информации 48.88 KB
  Цели и учебные вопросы Цели лабораторной работы: ознакомление с возможностями комплекса Крона НМ и программного обеспечения Филин Ультра; получение практических навыков: по проведению радиомониторинга в контролируемой зоне по обнаружению поиску и блокированию радиозакладных устройств Учебные вопросы: классификация поисковых устройств для проведения радиомониторинга см. Место: лаборатория Технические средства обеспечения безопасности Используемые технические средства: автоматизированный комплекс обнаружения электронных...