
- •Лекції Мова запитів sql
- •1.Загальна характеристика
- •2.Особливості та переваги мови sql
- •3.Групи команд мови sql
- •4.Стандарт мови sql Типи даних sql
- •Операції та агрегатні функції.
- •Вибірка даних Оператор select
- •Речення from
- •Речення where
- •Речення group by
- •Речення having
- •Речення order by
- •Операція join
- •Вкладені підзапити
- •Операція union
- •Оператор select…into
- •Маніпулювання даними Оператор insert into
- •Оператор update
- •Оператор delete
- •Створення та знищення об’єктів бд
- •Створення бази даних
- •Оператор create table
- •Оператор alter table
- •Оператор drop
3.Групи команд мови sql
Команди мови SQL за функціями можна поділити на наступні групи:
DQL (Data Query Language) – мова запиту даних, яка використовується для пошуку та вибору даних із БД та їх відображення (SELECT);
DDL (Data Definition Language) – мова опису даних, яка включає оператори, що описують структуру таблиць і режим відображення даних, команди для зміни структури таблиць, створення та вилучення індексів (CREATE TABLE, CREATE VIEW);
DML (Data Manipulation Language) – мова маніпулювання даними, команди якої дозволяють додавати та вилучати рядки з таблиць, вносити зміни значень полів (INSERT, DELETE, UPDATE);
TPL (Transaction Processing Language) – мова обробки транзакцій, що включає команди, які об’єднують декілька команд DML;
CCL (Cursor Control Language) – мова управління курсором, яка містить команди, що дозволяють виділити для обробки один рядок результатного набору записів;
DCL (Data Control Language) – мова управління даними, яка забезпечує виконання адміністративних функцій надання та відміни прав доступу до всієї бази, набору таблиць, спеціальним командам.
4.Стандарт мови sql Типи даних sql
Дані – це сукупна інформація, що зберігається в базі даних у вигляді одного з декількох різних типів. За допомогою типів даних встановлюються основні правила для даних, що містяться в конкретному стовпці таблиці, у тому числі розмір пам’яті, що виділяється для них.
Символьні дані складаються з послідовності символів, що входять у визначений творцями СУБД набір символів. Оскільки набори символів є специфічними для різних діалектів мови SQL, перелік символів, які можуть входити до складу значень даних символьного типу, також залежить від конкретної реалізації. Найчастіше використовуються набори символів ASCII і EBCDIC. Для визначення даних символьного типу використовується наступний формат:
CHARACTER [VARYING][<довжина>] | [CHAR | VARCHAR ] [<довжина>]
При визначенні стовпця із символьним типом даних параметр довжина застосовується для вказівки максимальної кількості символів, які можуть бути поміщені в даний стовпець (за замовчуванням набуває значення 1). Символьний рядок може бути визначений якщо має фіксовану або змінну (VARYING) довжину. Якщо рядок визначений із фіксованою довжиною значень, то при введенні в неї меншої кількості символів значення доповнюється до вказаної довжини пропусками, що додаються справа. Якщо рядок визначений із змінною довжиною значень, то при введенні в неї меншої кількості символів в базі даних будуть збережені тільки введені символи, що дозволить досягти певної економії зовнішньої пам’яті.
Бітовий тип даних використовується для визначення бітових рядків, тобто послідовності двійкових цифр (бітів), кожна з яких може мати значення або 0, або 1. Дані бітового типу визначаються за допомогою наступного формату:
BIT [VARYING][<довжина>]
Числові типи даних
Тип цілих числових даних застосовується для визначення чисел, які мають точне відображення, тобто числа складаються з цифр, необов’язкової десяткової крапки і необов’язкового символу знаку. Дані цілого числового типу визначаються точністю і довжиною дробової частини. Точність задає спільну кількість значущих десяткових цифр числа, в яку входить довжина як цілої частки, так і дробової, але без врахування самої десяткової крапки. Масштаб вказує кількість дробових десяткових розрядів числа.
NUMERIC[<точність>[,<масштаб>]] | {DECIMAL | DEC}[ <точність> [,<масштаб>]] | {INTEGER | INT} | SMALLINT
Типи NUMERIC і DECIMAL призначені для зберігання чисел в десятковому форматі. По замовчуванню довжина дробової частки дорівнює нулю, а точність, що приймається за умовчанням, залежить від реалізації. Тип INTEGER (INT) використовується для зберігання великих додатних або від’ємних цілих чисел. Тип SMALLINT – для зберігання невеликих додатних або від’ємних цілих чисел; в цьому випадку використання зовнішньої пам’яті істотно зменшується.
Тип дійсних чисел застосовується для опису даних, які не можна точно представити в комп’ютері, зокрема дійсних чисел. Дійсні числа або числа з плаваючою крапкою представляються в науковій нотації, при якій число записується за допомогою мантиси, помноженої на певний степінь десяти (порядок), наприклад: 10Е3, +5.2Е6, -0.2Е-4. Для визначення даних дійсного типу використовується формат:
FLOAT [<точність>] | REAL | DOUBLE PRECISION
Параметр точність задає кількість значущих цифр мантиси. Точність типів REAL і DOUBLE PRECISION залежить від конкретної реалізації.
Тип даних «дата/час»
Даний тип використовується для визначення часу з деякою встановленою точністю. Стандарт SQL підтримує наступний формат:
DATE | TIME [<точність>][WITH TIME ZONE] | TIMESTAMP [<точність>][WITH TIME ZONE]
Тип даних DATE використовується для зберігання календарних дат, що включають поля YEAR (рік), MONTH (місяць) і DAY (день). Тип даних TIME – для зберігання відміток часу, що включають поля HOUR (годинник), MINUTE (хвилини) і SECOND (секунди). Тип даних TIMESTAMP – для спільного зберігання дати і часу. Параметр точність задає кількість дробових десяткових знаків, що визначають точність збереження значення в полі SECOND. Якщо цей параметр опускається, за умовчанням його значення для стовпців типу TIME набуває рівним нулю (тобто зберігаються цілі секунди), тоді як для полів типу TIMESTAMP він приймається рівним 6 (тобто відмітки часу зберігаються з точністю до точністю до мілісекунд). Наявність ключового слова WITH TIME ZONE визначає використання полів TIMEZONE HOUR і TIMEZONE MINUTE, тим самим задаються година і хвилини зміщення зонального часу по відношенню до універсального координатного часу (час за Гринвічем). Дані типу INTERVAL використовуються для представлення періодів часу.