- •Мова sql
- •Компоненти sql
- •Insert Використовується для пакетного завантаження в базу
- •Пропозиції sql
- •Операції sql
- •Приклади запитів
- •Пропозиція order by (сортування результатів)
- •Застосування агрегатних функцій в інструкції select
- •15. Знайти максимальну і мінімальну кількість проданих товарів за одну покупку.
- •Пропозиція group by
- •Пропозиція having
- •18. Вибрати тих клієнтів загальна кількість покупок яких більше 20.
- •Пропозиція parameters (використання параметрів в запитах)
- •Вибірка даних з декількох таблиць
- •Пропозиція inner join (внутрішнє з'єднання)
- •Підпорядковані запити
- •Інструкція insert into
- •Інструкція select...Into
- •Інструкція update
- •Інструкція delete
- •Інструкція alter table
- •Інструкція create index
- •Інструкція drop
Інструкція alter table
Змінює структуру таблиці, створеної за допомогою інструкції CREATE TABLE. Синтаксис:
ALTER TABLE таблиця {ADD {COLUMN поле тип[(розмір)]
[NOT NULL] [CONSTRAINT індекс] | CONSTRAINT составнийІндекс}
DROP {COLUMN поле | CONSTRAINT iм’яIндекса} }
Тут: таблиця - ім'я змінної таблиці; поле - ім'я поля, що додається в таблицю або що видаляється з неї; тип - тип даних поля; розмір - розмір поля в символах (тільки для текстових і двійкових полів); індекс - індекс для поля; составнийІндекс - опис складового індексу, що додається до таблиці; ім‘яІндекса - ім'я складового індексу, який слідує видалити.
За допомогою інструкції ALTER TABLE існуючу таблицю можна змінити декількома способами, наприклад:
Додати нове поле в таблицю за допомогою пропозиції ADD COLUMN. Крім того, можна створити індекс по цьому полю. Якщо для поля додано обмеження NOT NULL, то при додаванні нових записів це поле повинне містити допустимі дані.
Додати складовий індекс за допомогою зарезервованих слів ADD CONSTRAINT
Видалити поле за допомогою зарезервованих слів DROP COLUMN. В цьому випадку необхідно вказати тільки ім'я поля.
Видалити складовий індекс за допомогою зарезервованих слів DROP CONSTRAINT. В цьому випадку необхідно вказати тільки ім'я складового індексу, наступного за зарезервованим словом CONSTRAINT.
Примітка: не можна додати або видалити одночасно декілька полів або індексів.
Інструкція create index
Створює новий індекс для існуючої таблиці. Синтаксис:
CREATE [ UNIQUE ] INDEX індекс
ON таблиця (поле [ASC|DESC][, поле [ASC|DESC] ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]
Тут: індекс - ім'я створюваного індексу; таблиця -имя існуючої таблиці, для якої створюється індекс; поле - імена одного або декількох полів, що включаються в індекс.
Для створення простого індексу (що складається з одного поля) необхідно ввести ім'я поля в круглих дужках відразу після імені таблиці. Для створення складового індексу (що складається з декількох полів) необхідно перерахувати імена всіх цих полів. Для розташування елементів індексу в убуваючому порядку використовуйте зарезервоване слово DESC, інакше буде прийнятий порядок за збільшенням.
Щоб заборонити збіг значень індексованих полів в різних записах, використовується зарезервоване слово UNIQUE.
Необов'язкова пропозиція WITH дозволяє задати умови на значення. Наприклад:
За допомогою параметра DISALLOW NULL можна заборонити значення Null в індексованих полях нових записів.
За допомогою параметра IGNORE NULL можна заборонити включення в індекс записів, що мають значення Null в індексованих полях.
За допомогою зарезервованого слова PRIMARY можна призначити індексовані поля ключем. Такий індекс за умовчанням є унікальним, отже, зарезервоване слово UNIQUE можна опустити.
Інструкція drop
Видаляє існуючу таблицю з бази даних або видаляє існуючий індекс з таблиці. Синтаксис:
DROP {TABLE таблиця | INDEX індекс ON таблиця}
Тут: таблиця - ім'я таблиці, яку слід видалити або з якої виходить видалити індекс; індекс - ім'я індексу, що видаляється з таблиці. Перш ніж видалити таблицю або видалити з неї індекс, необхідно її закрити. Крім того, для видалення індексу з таблиці можна використовувати інструкцію ALTER TABLE.
