Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SQL_mova_strukturovanikh_zapitiv.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
933 Кб
Скачать
☆

4.3.1. Додавання рядків до таблиці. Оператор insert

Оператор INSERT дає змогу вводити дані до БД. Є два різновиди цього оператора:

  • INSERT...VALUES

  • INSERT...SELECT

Оператор INSERT...VALUES

Цей оператор дає можливість додати до таблиці один рядок і має такий формат:

INSERT INTO <ім'я таблиці> (<поле 1> [. <поле 2>]...) VALUES (<значення 1> [. <значення 2>]...)

Виконання цього оператора потребує дотримання певних правил:

+ типи даних, що вставляються, мають узгоджуватися з типами даних відповід­них стовпців;

  • розміри даних мають відповідати розмірам стовпців;

  • порядок даних у фразі VALUES має відповідати порядку стовпців у фразі IN­SERT INTO.

Наведемо кілька прикладів.

Запит 4.37

Додати рядок до таблиці ФАКУЛЬТЕТ.

INSERT INTO ФАКУЛЬТЕТ (#F. Назва. Декан. Корпус. Фонд) VALUES (15. "інформатики". "Сидоров". 5. 25000)

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

Запит 4.38

Додати рядок до таблиці КАФЕДРА.

INSERT INTO КАФЕДРА

VALUES (03. 15. "АСУ". "Петренко". "5". 5500)

Якщо значення стовпців не відомі, то слід використовувати NULL-значення.

Запит 4.39

Додати рядок до таблиці ВИКЛАДАЧ.

INSERT INTO ВИКЛАДАЧ

VALUES (173. 13. "Резніченко". NULL. "526-18-15")

Багато СКБД дають змогу означувати стовпці із властивістю UNIQUE. В межах таблиці значення такого стовпця мають бути унікальними. Якщо це обмеження порушується, під час додавання рядків можуть виникнути помилки. Зазначимо, що стовпці із властивістю UNIQUE не можуть містити NULL-значень.

Оператор INSERT...SELECT

Цей оператор дає змогу додати до таблиці множину рядків (результат виконання запиту) і, таким чином, дозволяє копіювати інформацію з однієї чи кількох таб­лиць до іншої. Часто за допомогою оператора INSERT...SELECT дані копіюються до похідних таблиць, що створюються з метою підвищення продуктивності вико­нання тих чи інших операцій над базою даних. Оператор має такий формат:

INSERT INTO <:ім'я таблиці> (<список полів>)

SELECT <список полів>

FROM <ім'я таблиці>

WHERE <умова пошуку>

Вихідні результати стандартного оператора SELECT є вхідними даними для опе­ратора INSERT. Наведемо приклад.

Запит 4.40

Додати до таблиці ТИМЧАСОВА, що має стовпці Назва_факультету, Назва^кафедри, Прі-звище_викладача, наявні в базі даних відомості про викладачів, а також про кафед­ри та факультети, де вони працюють.

INSERT INTO ТИМЧАСОВА (Назва^факультету, Назва_кафедри. Прізвище_викладача) SELECT ФАКУЛЬТЕТ.Назва. КАФЕДРА.Назва. ВИКЛАДАЧ.Прізвище FROM ФАКУЛЬТЕТ. КАФЕДРА. ВИКЛАДАЧ

WHERE ФАКУЛЬТЕТ.#F = КАФЕДРА.#F AND КАФЕДPA.#D = ВИКЛАДАЧ.#0

Для оператора INSERT...SELECT мають виконуватися додаткові правила: + оператор SELECT не може вибирати рядок із таблиці, до якої здійснюється до­давання; + кількість стовпців у фразі INSERT INTO має збігатися з кількістю стовпців у фра­зі SELECT; ♦ типи даних стовпців у фразі INSERT INTO мають збігатися з типами даних стовп­ців у фразі SELECT.

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