16974

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

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

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

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

Украинкский

2013-06-28

52.5 KB

0 чел.

Практична робота №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.  Захист роботи.


 

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

7378. Бурение нефтяных и газовых скважин 171 KB
  Бурение нефтяных и газовых скважин I. Техническая часть Характеристика и краткое описание устройств Буровые установки и сооружения Процесс бурения сопровождается спуском и подъемом бурильной колонны в скважину, а также поддержанием ее на весу. Масса...
7379. Розробка економічного обґрунтування доцільності відкриття нового ТОВ «Господарочка» в м. Черкаси 267.5 KB
  Кожна фірма, починаючи своєю діяльність, зобов\'язана чітко усвідомити потребу у перспективі, матеріальних, трудових і інтелектуальних ресурсах, джерелах їх отримання, і, навіть, вміти точно розраховувати ефективність використання наявних ресурсів своєї фірми. У ринковій економіці підприємці неспроможні домогтися стабільного успіху, якщо нечітко й неефективно планували свою діяльність.
7380. Изучение модуля процессора событий TIM08, и модуля таймера базового времени TMB08 251.5 KB
  Изучение модуля процессора событий TIM08, и модуля таймера базового времени TMB08 Цель работы: Изучить подсистему реального времени микропроцессора. Освоить методику выбора тактирующей последовательности и порядок программирования синт...
7381. Ведение бухгалтерского учета на практике в программе 1С: Бухгалтерия 226.5 KB
  Учетная политика предприятия - это совокупность способов ведения бухгалтерского и налогового учета, выбранная предприятием из различных вариантов, допускаемых законодательством. Поскольку существует некоторая свобода выбора, то, очевидно
7382. Выбор диодов СВЧ для конкретного применения. КР 795.5 KB
  Диоды арсенидогаллиевые, планарно-эпитаксиальные, параметрические. Предназначены для применения в параметрических усилителях сантиметрового диапазона длин волн. Выпускаются в металлическом корпусе с жесткими выводами.
7383. Эластичность спроса по ценам, доходам, перекрестная эластичность 204.08 KB
  Введение. Экономическая наука призвана определять, как максимально эффективно использовать ограниченные ресурсы - природные запасы, капиталы, трудовые резервы. Подробно всем другим отраслям знаний, экономика включает набор аксиом и доказательств, пр...
7384. Линейная алгебра и аналитическая геометрия 528 KB
  Линейная алгебра и аналитическая геометрия Задача 1. Дана система трех линейных уравнений. Найти решение ее двумя способами: методом Крамера и методом Гаусса. Решение методом Крамера. Запишем формулы Крамера...
7385. Космические и наземные системы радиосвязи и сети телерадиовещания. Проект цифровой радиорелейной линии 905 KB
  Космические и наземные системы радиосвязи и сети телерадиовещания Проект цифровой радиорелейной линии Введение Технология цифровых радиорелейных линий в настоящее время достигла высокого качественного и количественного развития. Сегодня радиорелейны...
7386. Моделирование мобильного телефона Google Nexus One в среде 3ds Studio Max 609.54 KB
  Содержание Введение 1. Техническое задание 1.1 Основание для разработки 2. Рабочий проект 2.1 Моделирование объектов 2.2 Построение корпуса 2.3 Построение нижней крышки корпуса 2.4 Построение верхней крышки корпуса 2.5 Добавление деталей 2.6 Примене...