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.  Захист роботи.


 

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

64096. Правовое регулирование в сфере социальной защиты населения 279.5 KB
  Право социального обеспечения зарождается самостоятельной отраслью в системе российского права которая сформировалась во второй половине XX века. Перевод Российской Федерации к рыночной экономике отразился на системе социального обеспечения.
64097. Современное состояние и перспективы использования достижений криминалистики в уголовно-исполнительных инспекциях (на примере ФКУ УИИ УФСИН России по Пензенской области) 320.5 KB
  В последнее десятилетие в России она претерпела значительные изменения приобрела ряд особенностей одна из которых заключается в поиске и правовом закреплении системы наказаний и мер без изоляции от общества механизма их реализации с тем чтобы они стали реальной альтернативой лишению свободы.
64098. Предметы такелажного оборудования (гаки, рымы, обухи, блоки, талрепы) 2.76 MB
  На современных судах изготавливаются обычно из стального троса а иногда из такелажных цепей. Разрывная прочность троса R кгс определяется минимальным усилием растяжения при котором трос начинает разрушаться рваться.
64099. Проект авторского дизайна художественного изделия из дерева с элементами резьбы и мозаики: настенные часы часы 1.2 MB
  Актуальность данной работы заключается в использовании настенных часов как атрибут для определения текущего времени суток и измерения продолжительности временных интервалов в единицах меньших чем одни сутки так и в целях улучшить интерьер помещения в котором будут находится часы.
64100. Решение экзистенциальных проблем в практике психологического консультирования методом символдрамы 419 KB
  Как часто обыкновенный человек задумывается над смыслом своего бытия Как часто он берет на себя ответственность за то как он прожил свою жизнь что оставил потомкам что он сам получил от жизни Удел ли это философов или каждый рано или поздно приходит к этому вопросу Существует ли один универсальный смысл или их множество...
64101. Зарубежный фондовый рынок на примере организованного рынка Франции 3.66 MB
  Цель выпускной квалификационной работы: разработать на основе анализа актуальных для российских субъектов рынка ценных бумаг проблем функционирования фондовой биржи в условиях рыночной экономики Евросоюза на примере фондовой биржи...