1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer

Лекція 8 - SQL:Маніпулювання даними – оператори INSERT, UPDATE, DELETE

Вставка стрічок – оператор INSERT
Зміна стрічок – оператор UPDATE
Усунення стрічок – оператор DELETE

Вставка стрічок – оператор INSERT

Оператор INSERT додає в таблицю нову стрічку. Якщо користувач буде вводити всі значення в нову стрічку порядку, який був визначений при створенні таблиці, то можна вказувати лише ім’я таблиці та список значень, що вводяться

INSERT INTO student   VALUES (101,‘Гайдур’ , NULL, 200, 3,‘Львів’ ,‘1986-03-23’, 15);   

Якщо список вводу неповний, або порядок значень відрізняється від того, що закладався при створенні таблиці, після назви таблиці вказуєься потрібний список атрибутів. Атрибутам, що не вказані в списку присвоюється значення по замовчуванню, якщо воно вказувалося при створенні таблиці або ж значення NULL.

INSERT INTO student   VALUES (101,‘Гайдур’ , NULL, 200, 3,‘Львів’ ,‘1986-03-23’, 15);   

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

INSERT INTO  student1 
  SELECT * 
  FROM student 
  WHERE city = ‘Київ ’ ;

При цьому можна використовувати підзапити та пов’язані таблиці. Нехай потрібно додати в таблицю student1 дані про всіх студентів, що вчаться в Києві:

INSERT INTO student1
  SELECT * 
  FROM student 
  WHERE univ_id  IN 

   (SELECT univ_id  
    FROM university 
    WHERE city = ‘Київ ’ );

Нехай в таблицю exam потрібно вибрати список студентів, які мають максимальний бал на кожний день здачі екзаменів

INSERT INTO exam  
  SELECT exam _id, student_id, subj_id, mark, exam _date 
    FROM exam _marks em1 , 

    (SELECT exam _date, MAX(mark) mm
     FROM exam _marks 
     GROUP BY exam _date) em2 
	 
	 WHERE em1. exam _date= em2. exam _date
        AND em1.mark = em2.mm ;

Зміна стрічок – оператор UPDATE

Оператор UPDATE дозволяє міняти значення деяких або всіх полів в існуючих стрічках таблиці. Наприклад , нехай необхідно замінити назву предмета навчання ‘Математика’ (subj_id = 43) на назву ‘Вища математика’, при цьому ідентифікаційний номер необхідно зберегти

UPDATE subject1 
SET subj _name = ‘Вища математика’ , HOUR = 36, SEMESTER= 1 
WHERE subj_id =  43; 

В виразі SET можна використовувати скалярні операції. Нехай потрібно збільшити в два рази поле stipend таблиці student1 для студентів із Києва

UPDATE student1 
  SET stipend= stipend*2 
  WHERE city = ‘Київ ’

Нехай необхідно збільшити величину стипендії на 50 всім студентам, які отримали на екзаменах оцінки 4 і 5

  UPDATE student1 
    SET stipend = stipend + 50 
  WHERE 4 <= 
 (SELECT MIN(mark) 
    FROM exam_marks 
   WHERE  exam_marks.student_id = student1. student _id);

Усунення стрічок – оператор DELETE

Усунення стрічок із таблиці здійснюється за допомогою команди DELETE. Можна усувати всі стрічки таблиці. В результаті таблиця стає пустою, після чого вона може бути усунена командою DROP TABLE.

	DELETE FROM EXAM_MARKS1;  

Для усунення декількох стрічок застосовується умова WHERE:

DELETE FROM STUDENT1 
  WHERE CITY = ‘Київ’ ;

В умові WHERE команди DELETE можна застосовувати підзапити. В атрибутах умови FROM під запиту не можна посилатися на таблицю, з якої здійснюється усунення. Однак можна посилатися на поточну стрічку, що є кандидатом на усунення тобто на стрічку, яка на даний час перевіряється в умові основного запиту. Нехай потрібно усунути дані про студентів, які вчаться в університетах з рейтингом, меншим ніж 400.

DELETE 
  FROM student 
  WHERE 400 > ANY (SELECT rating 
     FROM university 
     WHERE student.univ_id = university. univ_id) ;  

 

Додати коментар


Захисний код
Оновити

Меню

  •  Facebook 

Обрати мову

Хто на сайті

На сайті 168 гостей та відсутні користувачі