Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Команди маніпулювання даними




В 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

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...