Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л № 20 Мова SQL Зміна.doc
Скачиваний:
3
Добавлен:
29.04.2019
Размер:
82.43 Кб
Скачать

4. Маніпуляція даними

Язик маніпуляцій даними (DML) є частиною SQL, що забезпечує користувачеві бази даних можливість вносити реальні зміни в дані реляционной бази даних. За допомогою DML користувач може поповнювати таблиці новими даними, обновляти вже наявні дані й видаляти їх з таблиць. За допомогою команд DML можна також виконувати й деякі типи запитів.

В SQL є три основних команди DML.

INSERT UPDATE DELETE

Команда SELECT, що теж можна використати з командами DML, буде обговорюватися докладно в ході уроку 7, "Знайомство із запитами".

Заповнення таблиць новими даними

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

Те, які дані й у якій кількості можна буде при цьому вводити в таблицю, залежить від багатьох факторів, основними з яких є обмеження, задані при визначенні таблиці, фізичні розміри таблиці, типи даних її стовпців, ширина стовпців, вимоги цілісності у вигляді ключів і зовнішніх ключів. У наступних розділах ми обговоримо особливості процесу уведення даних у таблиці, розглянувши ряд відповідних рекомендацій і застережень.

Не забувайте, що оператори SQL можуть використати як символи нижнього регістра, так і символи верхнього. Внаслідок способу зберігання операторів у базі даних, вони від вибору регістра букв не залежать. У наступних прикладах букви нижнього й верхнього регістрів використаються тільки для того, щоб показати, що це не впливає на результат.

Уведення даних у таблицю - оператор INSERT

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

insert into ім'я схеми.ім'я таблиці

VALUES ('значення!', 'значення2', [ NULL ] );

Відповідно до представленого тут синтаксису оператора INSERT, у список VALUES ви повинні помістити значення для всіх стовпців відповідної таблиці. Значення в списку розділяються комами. Символьні значення й значення дат повинні бути укладені в лапки. Для числових значень і порожніх значень, що задають ключовим словом NULL, лапки не потрібні. Повинні бути зазначені значення для всіх стовпців таблиці.

Уведення даних у певні стовпці таблиці

Є можливість увести дані не в усі, а тільки в певні стовпці, наприклад, якщо потрібно ввести всю інформацію про службовця, крім номера його пейджера. У цьому випадку в операторі INSERT разом зі списком значень VALUES потрібно вказати й список відповідних їм стовпців.

INSERT INTO EMPLOYEE_TBL

(EMP_ID, LAST_NAME, FIRST_NAME, MIDDLE_NAME, ADDRESS, CITY, STATE, ZIP, PHONE) VALUES

('123456789','SMITH', 'JOHN', 'JAY', 12 BEACON ST', INDIANAPOLIS', 'IN', '46222', '3172996868');

1 рядок створений

Синтаксис оператора для уведення значень у вибрані стовпці таблиці наступний.

INSERT INTO ІМ'Я_СХЕМИ.ІМ'Я_ТАБЛИЦІ ('СТОВПЕЦЬ!', 'СТОВПЕЦЬ2') VALUES ('ЗНАЧЕННЯ!', 'ЗНАЧЕННЯ2');

Уведення даних з іншої таблиці

У таблицю можна вводити дані, отримані в результаті запиту до іншої таблиці, скориставшись комбінацією операторів INSERT і SELECT. Коротко говорячи, запит — це звертання до бази даних, що має метою одержання даних. Про запити буде йти мова в ході уроку 7. Запит можна зрівняти з питанням користувача до бази даних, а повернуті дані - з отриманою відповіддю. Якщо скомбінувати оператори INSERT і SELECT, є можливість увести в таблицю дані, отримані в результаті запиту.

Синтаксис оператора для уведення даних з однієї таблиці в іншу наступний:

insert into ім'я_схеми.ім'я_таблиці [('стовпець!', 'стовпець2')] select [*|('стовпець!', 'стовпець2')]

from ім'я_таблиці

[where умови] ;

Тут ви бачите три нових ключових слова SELECT, FROM і WHERE. SELECT є основною командою для побудови запитів в SQL. За допомогою FROM у запиті вказуються імена таблиць, у яких необхідно відшукати дані. За допомогою WHERE у запитах задаються умови, що визначають суть запиту. Такою умовою може бути, наприклад, WHERE NAME = 'SMITH'.

Уведення значень NULL

Увести значення NULL у таблицю просто. Це буває потрібно, зокрема, коли значення відповідного стовпця не відомо. Наприклад, не кожна людина має пейджер, і було б некоректно вводити для цих людей невірні номери пейджера - не говорячи вуж про даремну витрату дискового простору. Значення NULL можна ввести в стовпець за допомогою ключового слова NULL.

Синтаксис оператора для уведення значення NULL наступний.

insert into ім'я_схеми.ім'я_таблиці values ('значення!', NULL, 'значениез'};

У результаті у відповідний стовпець таблиці буде уведене значення NULL. Стовпець, у який уводиться NULL, не буде містити даних. У рамках вищенаведеного синтаксису значення NULL буде уведено на місце другого стовпця.

Відновлення вже наявних даних команда UPDATE

Уже існуючі в таблиці дані можна змінити за допомогою команди UPDATE. Команда UPDATE не додає нових записів у таблицю й не видаляє їх, а тільки дає можливість змінити дані. За допомогою однієї такої команди можна змінити дані тільки однієї таблиці, але одночасно можна міняти дані декількох стовпців. Одним таким оператором можна змінити й один рядок даних і цілий набір рядків. 

Відновлення значень одного стовпця

У своїй найпростішій формі оператор UPDATE змінює один стовпець таблиці. При зміні одного стовпця можна змінити й тільки один запис, і відразу трохи

Синтаксис оператора для зміни даних в одному стовпці наступний

update ім'я_таблиці

set ім'я_стовпця = 'значення'

[where умова];

Відновлення декількох стовпців в одній або декількох записах

Тепер давайте розберемося з тим, як обновити за допомогою операгора UPDATE кілька стовпців відразу. Розглянемо синтаксис підходящого оператора.

update ім'я_таблиці

set стовпець! = 'значення'

[, столбецз = 'значення']

[, столбецз = 'значення'] [where умова];

Зверніть увагу на використання ключового слова SET' воно одне, а описів стовпців - трохи. Опису стовпців розділяються комами До цього моменту ви, мабуть, уже відчули логікові SQL. В операторах SQL кома звичайно використається для поділу по-різному! про тип аргументів.

Видалення даних з таблиць команда DELETE

Для видалення даних з таблиць використається команда DELETE. Команда DELETE призначена не для того, щоб видаляти значення окремих стовпців, а для того, щоб видаляти цілі записи. Оператор DELETE варто застосовувати з обережністю - занадто вуж безвідмовно він працює.

Синтаксис оператора DELETE.

delete from ім'я_схеми.ім'я_таблиці

[where умова];

DELETE FROM ORDERS_TBL

WHERE ORD_NUM = '23A16';

Якщо ключове слово WHERE в операторі DELETE опущено, будуть вилучені весь рядки таблиці. Тому візьміть за правило завжди використати ключове слово WHERE в операторі DELETE.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]