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

4.3.2. Оновлення даних. Оператор update

Оператор UPDATE надає можливість змінювати значення у наявних рядках. Його синтаксис такий:

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

SET <поле 1> = <вираз 1>

[. <поле 2> = <вираз 2>]...

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

Оновлення за умовою

Усі рядки таблиці, які задовольняють задану у фразі WHERE умову, змінюються згідно з фразою SET.

Запит 4.41

Встановити фонд факультету інформатики рівним 250 300.

UPDATE ФАКУЛЬТЕТ

SET Фонд = 250300

WHERE Назва = "інформатики"

Безумовне оновлення

Якщо фразу WHERE не задано, то оновлюються всі рядки.

Запит 4.42

Встановити фонд усіх факультетів рівним 260 500.

UPDATE ФАКУЛЬТЕТ SET Фонд = 26050

Неконстантне оновлення

Стовпцю може присвоюватися не константа, а вираз, що обчислюється на поточ­ному рядку.

Запит 4.43

Збільшити всім факультетам фонд фінансування на 10 %.

UPDATE ФАКУЛЬТЕТ

SET Фонд = Фонд + Фонд/10

Запит 4.44

Збільшити всім кафедрам факультету інформатики фонд фінансування на 5 %.

UPDATE КАФЕДРА

SET Фонд = Фонд + Фонд/20

WHERE #F IN (SELECT #F

FROM ФАКУЛЬТЕТ

WHERE ФАКУЛЬТЕТ.Назва = "інформатики")

4.3.3. Видалення рядків таблиці. Оператор delete

Оператор DELETE дає змогу видаляти рядки таблиці й має такий синтаксис:

DELETE FROM <ім'я таблиці> [WHERE умова]

Залежно від наявності та змісту фрази WHERE можна видалити один рядок, мно­жину рядків, усі рядки або не видалити жодного.

Назвемо кілька особливостей використання оператора DELETE.

  • Оператор не дає змоги видаляти окремі поля (використовуйте для цього опе­ратор UPDATE), видаляючи рядок повністю.

  • Застосування оператора DELETE, як і INSERT та UPDATE, може призвести до пору­шення цілісності бази даних.

  • Якщо у фразі WHERE використовується вкладений підзапит, то у фразі FROM цьо­го підзапиту не можна зазначати таблицю, з якої видаляються рядки. Це сто­сується також операторів INSERT та UPDATE.

  • Оператор видаляє лише рядки таблиці, а не саму таблицю. Для видалення всі­єї таблиці слід застосувати оператор DROP TABLE.

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

Запит 4.45 .

Видалити відомості про лекції, що читаються в суботу та неділю.

DELETE FROM ЛЕКЦІЯ

WHERE День IN ("субота"."неділя")

Запит 4.46 ______

Видалити всі рядки з реляційного відношення ПРЕДМЕТ.

DELETE FROM ПРЕДМЕТ

Запит 4„47 . __ —

Видалити з таблиці ПРЕДМЕТ ті предмети, з яких не читається лекцій.

DELETE FROM ПРЕДМЕТ

WHERE #S != ALL (SELECT #S

FROM ЛЕКЦІЯ)

4.4. Операції над схемою бази даних

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

4.4.1. Створення бази даних. Оператор create database

Операція створення бази даних може бути або елементарною дією, або ж вимага­ти складних маніпуляцій, залежно від потреб користувача та обраної СКБД. Ба­гато сучасних СКБД оснащені графічними засобами, що дають змогу визначати схему бази, проте універсальним способом створення бази даних є застосування операторів SQL. Синтаксис типового оператора створення бази даних є таким:

CREATE DATABASE <ім'я бази даних>

Оскільки синтаксис цього оператора змінюється залежно від системи, ми його не будемо деталізувати. У більшості СКБД оператор CREATE DATABASE дає змогу ви­конати такі основні дії:

  • делегувати повноваження на створення бази даних тому чи іншому користувачу;

  • визначити місце (диск, каталог), де розташовуватиметься база даних;

  • зарезервувати певний обсяг дискового простору для подальшого зберігання рядків таблиць та іншої інформації.

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