- •Мова 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
Інструкція update
Створює запит на оновлення, який змінює значення полів вказаної таблиці на основі заданої умови відбору. Синтаксис:
UPDATE таблиця SET поле1=вираз1 [,поле2=вираз2 ,]
WHERE умоваВідбора;
Тут: таблиця - ім'я таблиці, дані в якій слід змінити; поле1, поле2 . - імена полів, значення яких повинні бути змінені; вираз1, вираз2 . - вирази, що визначають значення, які повинні бути вставлені у вказані поля оновлених записів; умоваВідбора - вираз, що відбирає записи, які повинні бути змінені. При виконанні цієї інструкції будуть змінені тільки записи, що задовольняють вказаній умові.
Інструкцію UPDATE особливо зручно використовувати для зміни відразу багатьох записів або в тому випадку, якщо записи, що підлягають зміні, знаходяться в різних таблицях. Одночасно можна змінити значення декількох полів.
Інструкція delete
Створює запит на видалення записів, призначений для видалення записів з однієї або декількох таблиць, перерахованих в пропозиції FROM, які задовольняють пропозиції WHERE. Синтаксис:
DELETE [таблиця.*] FROM таблиця WHERE умоваВідбора
Тут: таблиця - необов'язкове ім'я таблиці, з якої віддаляються записи; таблиця - ім'я таблиці, з якої віддаляються записи; умоваВідбора -вираз, визначаючий записи, що видаляються.
При вживанні інструкції DELETE, видаляються тільки дані. Структура таблиці і вся решта її властивостей, такі як атрибути полів і індекси, зберігається.
Інструкцію DELETE можна використовувати для видалення записів з таблиць, зв'язаних відношенням "один-до-багатьох" з іншими таблицями. Операції каскадного видалення приводять до видалення записів з таблиць, що знаходяться на стороні відношення "багато", коли в запиті віддаляється відповідний їм запис на стороні "один".
Примітки:
Не можна відновити записи, видалені за допомогою запиту на видалення. Щоб узнати, які записи будуть видалені, необхідно проглянути спочатку результати запиту на вибірку, що використовує ті ж самі умова відбору, а потім тільки виконати запит на видалення.
Регулярно виконуйте резервування даних. Ненавмисно видалені записи можуть бути відновлені по резервній копії.
Інструкції DDL
Інструкція CREATE TABLE
Інструкція CREATE TABLE призначена для того, щоб визначити нову таблицю, поля і обмеження полів. Сінтаксис:
CREATE TABLE таблиця (поле1 тип [(розмір)] [NOT NULL]
[, поле2 тип [(розмір)] [NOT NULL]
[, CONSTRAINT индекс_набора_полей [, ...]])
Інструкція CREATE TABLE включає з себе наступні|такі| компоненти:
Таблиця - Ім'я створюваної таблиці;
поле1, поле2 - ім'я поля або полів, які створюються в новій таблиці. Необхідно створити хоч би одне поле;
тип- тип поля в новій таблиці;
розмір - розмір поля в знаках (тільки|лише| для полів з|із| типом даних «Текстове» і «Двійковий»)
Якщо для поля встановлено|установлено| властивість NOT NULL, то поле обов'язково повинне містити|утримувати| допустимі дані. Властивість NOT NULL для поля можна задати тільки|лише| один раз. Спроба визначити цю властивість повторно приведе до появи помилки виконання.
Пропозиція|речення| CONSTRAINT накладає на полі певні обмеження і може бути використано для установки первинного ключа. Для створення|створіння| первинного ключа|джерела| або додаткових індексів в існуючих таблицях можна використовувати інструкцію CREATE INDEX.
Стовпці з|із| типом даних MEMO можуть містити|утримувати| стислі дані. Проте|однак| в цьому випадку існує обмеження. Стисненню|стискуванню| можуть бути піддані тільки|лише| ті поля стовпців з|із| типом даних MEMO, розмір яких після|потім| стиснення|стискування| не перевищуватиме 4096 байт. Решта полів стовпців з|із| типом даних MEMO залишиться в звичайному|звичному| стані. Таким чином, в межах однієї таблиці і одного стовпця з|із| типом даних MEMO одні можуть бути піддані стисненню|стискуванню|, а інші — ні.
