Лекція 8 - SQL:Маніпулювання даними – оператори INSERT, UPDATE, DELETE
- Деталі
- Перегляди: 9081
Вставка стрічок – оператор 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) ;
Обрати мову
Хто на сайті
На сайті 47 гостей та відсутні користувачі