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


 

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

68303. Дугогасительные устройства и контактные системы электрических аппаратов 8.61 MB
  Дугогасительные устройства электрических аппаратов предназначены для защиты контактных соединений от действия электрической дуги возникающей между контактами при их размыкании. Существуют несколько способов гашения электрической дуги.
68304. Электромагнитный привод 4.16 MB
  К подвижному сердечнику крепится подвижный контакт который прижимается к неподвижному контакту когда через катушку проходит электрический ток Создаваемое катушкой магнитное поле притягивает подвижный сердечник к неподвижному преодолевая усилие возвратной пружины.
68305. Область применения и конструкция коммутационных аппаратов дистанционного действия 858 KB
  Аппаратура служащая для дистанционного включения выключения или переключения электрических цепей на значительном расстоянии от служебных помещений контакторы и реле; аппараты этой группы приводятся в действие при помощи кнопок выключателей датчиков или защитной аппаратуры...
68306. Коммутационная аппаратура непосредственного включения. Пакетные выключатели и переключатели. Контроллеры и кнопки 1019.5 KB
  Контакты выключателей могут быть размыкающими и замыкающими. Пример н о контакты кнопки пуск при нажатии замыкаются если прекратить нажатие то под действием пружины контакты размыкаются См. В пакетных выключателях применены скользящие контакты соприкасающиеся друг с другом по плоскости.
68307. Коммутационная аппаратура 35 KB
  Аппаратура предназначенная для изменения состояния электрической сети по алгоритму: ток проходит не проходит или аппаратура включена выключена или электрических потребителей по алгоритму: работают не работают лампа горит не горит. По принципу работы коммутационная аппаратура делится на контактную и бесконтактную.
68308. Системы электроснабжения РПС 276.5 KB
  По условиям работы холодильных установок ХНУ на подвижном составе с машинным охлаждением целесообразно применять передачу на переменном трехфазном токе. Это объясняется тем что пуск ХНУ производят сравнительно редко и не требуют при этом больших пусковых моментов от электродвигателе и в процессе работы...
68309. Поселенная структура сибирской деревни: необходимость и возможности изучения 37 KB
  На наш взгляд к числу важнейших проблем необходимость изучения которых явно недооценивалась аграрниками раньше и по прежнему недооценивается сегодня нужно отнести динамику поселенной структуры сибирской деревни которая бы включала в себя характеристику всех населенных пунктов по следующим параметрам...