Команди маніпулювання даними
В SQL для виконання операцій уведення даних у таблицю, їх корегування й видалення призначені три команди мови маніпулювання даними (DML). Це команди INSERT (вставити), UPDATE (обновити), DELETE (видалити). Команда INSERT здійснює вставку в таблицю нового рядка. У найпростішому випадку вона має вигляд:
INSERT INTO <ім'я таблиці> VALUES (<значення>, <значення>,);
При такому записі зазначені в дужках після ключового слова VALUES значення вводяться в поля доданого в таблицю нового рядка в тім порядку, у якому відповідні стовпці зазначені при створенні таблиці, тобто в операторі CREATE TABLE. Приклад 1. Введення нового рядка в таблицю STUDENT може бути здійснено у такий спосіб:
INSERT INTO STUDENT VALUES (101,'Іваненко','Олександр', 200, 3,'Миколаїв', '6/10/1984', 15);
Щоб така команда могла бути виконана, таблиця із зазначеним у ній ім'ям (STUDENT) повинна бути попередньо визначена (створена) командою CREATE TABLE. Якщо в яке-небудь поле необхідно вставити NULL-значення, то воно вводиться як звичайне значення: INSERT INTO STUDENT VALUES (101, 'Іваненко', NULL, 200, 3, 'Миколаїв', '6/10/1984', 15);
У випадках, коли необхідно ввести значення полів у порядку, відмінному від порядку стовпців, заданого командою CREATE TABLE, або потрібно ввести значення не в усі стовпці, варто використати наступну форму команди INSERT:
INSERT INTO STUDENT (STUDENT_ID, CITY, SURNAME, NAME) VALUES (101, 'Миколаїв', 'Іваненко', 'Сашко');
Стовпцям, найменування яких не зазначені в наведеному в дужках списку, автоматично привласнюється значення за замовчуванням, якщо воно призначено при описі таблиці (команда CREATE TABLE), або значення NULL.
Приклад 2. За допомогою команди INSERT витягти значення з однієї таблиці й розмістити його в іншій:
INSERT INTO STUDENT1
SELECT * FROM STUDENT WHERE CITY = 'Миколаїв';
При цьому таблиця STUDENT1 повинна бути попередньо створена командою CREATE TABLE і мати структуру, ідентичну таблиці STUDENT. Видалення рядків з таблиці здійснюється за допомогою команди DELETE. Наступний вираз видаляє всі рядки таблиці EXAM_MARKSI. DELETE FROM EXAM_MARKS1; У результаті таблиця стає порожньою (після цього вона може бути вилучена командою DROP TABLE). Для видалення з таблиці відразу декількох рядків, що задовольняють деякій умові, можна скористатися конструкцією WHERE.
Приклад 3. DELETE FROM EXAM_MARKS1 WHERE STUDENT_ID = 103;
Можна видалити групу рядків:
DELETE FROM STUDENT1 WHERE CITY = 'Миколаїв';
Команда UPDATE дозволяє змінювати, тобто обновляти значення деяких або всіх полів в існуючому рядку або рядках таблиці. Приклад 4. Для всіх університетів, відомості про які перебувають у таблиці UNIVERSITY1, змінити рейтинг на значення 200. Можна використати наступну конструкцію:
UPDATE UNIVERSITY1 SET RATING = 200;
Для вказівки конкретних рядків таблиці, значення полів яких повинні бути змінені, у команді UPDATE можна використати предикат, що вказується в пропозиції WHERE:
UPDATE UNIVERSITY1 SET RATING = 200 WHERE CITY = 'Миколаїв';
У результаті виконання цього запиту буде змінений рейтинг тільки для університетів, розташованих у Миколаїві.
Команда UPDATE дозволяє змінювати не тільки один, але й множину стовпців. Для визначення конкретних стовпців, значення яких повинні бути модифіковані, використовується конструкція SET. Приклад 5. Замінити найменування предмета навчання 'Математика' (для нього SUBJ_ID = 43) на назву 'Вища математика', при цьому ідентифікаційний номер необхідно зберегти, але у відповідні поля рядка таблиці ввести нові дані про цей предмет навчання. Запит буде виглядати в таким чином:
UPDATE SUBJECT1 SET SUBJ_NAME = ‘Вища математика’, HOUR = 36, SEMESTER = 1 WHERE SUBJ_ID = 43;
В конструкції SET команди UPDATE можна використати скалярні вирази, що вказують спосіб зміни значень поля, у які можуть входити значення змінюваного й іншого полів.
UPDATE UNIVERSITY1 SET RATING = RATING*2; Приклад 6. Збільшити в таблиці STUDENT1 значення поля STIPEND у два рази для студентів з Миколаєва. Використати запит:
UPDATE STUDENT1 SET STIPEND = STIPEND*2 WHERE CITY = 'Миколаїв';
Конструкція SET не є предикатом, тому в ній можна вказати значення NULL у такий спосіб:
UPDATE UNIVERSITY1 SET RATING = NULL WHERE CITY = 'Миколаїв';
Завдання для самостійної роботи
1. Напишіть команду, що вводить у таблицю SUBJECT рядок для нового предмета навчання з наступними значеннями полів: SEMESTER = 4; SUBJ_NAME = 'Алгебра'; HOUR = 72; SUBJ_ID =201. 2. Уведіть запис для нового студента, якого кличуть Орлов Микола, що навчається на першому курсі ВДУ, що живе у Вінниці, відомості про дату народження й розмір стипендії невідомі. 3. Напишіть команду, що видаляє з таблиці EXAM_MARKS записи про всі оцінки студента, ідентифікатор якого дорівнює 100. 4. Напишіть команду, що збільшує на 5 значення рейтингу всіх наявних у базі даних університетів, розташованих у Миколаєві. 5. Змініть в таблиці назву (значення) міста, у якому проживає студент Іваненко, на «Вінниця».
3.11. Лабораторна робота №11
Читайте также: II -приравненное к нотариальному (глав.врач больницы, командиры воинских частей) Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|