Sql айті бубон
Відповідність стандартам SQL різних БД:
SQL (Structured Query Language - мова структурованих запитів). SQL є, перш за все, інформаційно-логічним мовою, призначеним для опису даних, що зберігаються, для вилучення даних, що зберігаються і для модифікації даних.
SQL не є мовою програмування. У зв'язку з ускладненням мову SQL став більш мовою прикладного програмування, а користувачі отримали можливість використовувати візуальні побудовники запитів.
SQL є регістронезавісімого мовою. Рядок в SQL беруться в одинарні лапки.
Мова SQL представляє собою сукупність операторів. Оператори SQL поділяються на:
оператори маніпуляції даними (Data Manipulation Language, DML) - це набір команд, які визначають, які значення представлені в таблицях в будь-який момент часу (INSERT, DELETE, SELECT, UPDATE і ін.).
оператори визначення доступу до даних (Data Control Language, DCL) - складається з коштів, які визначають, чи дозволити користувачу виконувати певні дії чи ні (GRANT / REVOKE. LOCK / UNLOCK).
оператори управління транзакціями (Transaction Control Language, TCL)
Декларативність. За допомогою SQL програміст описує тільки те, які дані потрібно витягнути або модифікувати. Те, яким чином це зробити, вирішує СУБД безпосередньо при обробці SQL-запиту. Однак не варто думати, що це повністю універсальний принцип - програміст описує набір даних для вибірки або модифікації, проте йому при цьому корисно уявляти, як СУБД розбиратиме текст його запиту. Чим складніше сконструйований запит, тим більше він допускає варіантів написання, різних за швидкістю виконання, але однакових за підсумковим набору даних
Складність. Хоча SQL і замислювався як засіб роботи кінцевого користувача, врешті-решт він став настільки складним, що перетворився в інструмент програміста.
Процедурні розширення. Оскільки SQL не є мовою програмування (тобто не надає коштів для автоматизації операцій з даними), що вводяться різними виробниками розширення стосувалися в першу чергу процедурних розширень. Це збережені процедури (stored procedures) і процедурні язикі- «надбудови». Практично в кожній СУБД застосовується свій процедурний мову. Стандарт для процедурних розширень представлений специфікацією SQL / PSM.
У SQL розрізняються наступні види об'єктів:
база даних (database);
PostgreSQL. Перейменувати базу даних
Зміна значення за замовчуванням для колонки. Щоб встановити нове значення за замовчуванням для колонки, використовуйте команду виду:
Зауважимо, що виконання даної команди не впливає на вже існуючі рядки в таблиці, команда змінять значення за замовчуванням тільки для майбутніх команд INSERT. Щоб видалити будь-яке значення за замовчуванням, використовуйте
Команда виконує те ж саме, що і установка значення за замовчуванням в null. Оскільки при видаленні значення за замовчуванням, воно неявно встановлюється в null, в разі видалення існуючого значення за замовчуванням, повідомлень про помилки, не буде.
Функція як значення за замовчуванням для колонки. В цьому випадку стовпець timetracking має тип даних timestamp і значить для неї значенням за замовчуванням можна задати вбудовану функцію now () тобто при додаванні нового рядка в стовпець буде записана поточна дата і час
Додавання обмеження. Щоб додати будь-яке обмеження, використовується табличний синтаксис визначення цього обмеження. наприклад:
Щоб додати обмеження не-null, яке не можна записати як обмеження на таблицю, використовуйте синтаксис:
Зазначене обмеження буде задіяно негайно, так що дані в таблиці перед додаванням обмеження повинні йому задовольняти.
У стандартному SQL існує 5 агрегатних функцій:
COUNT - функція повертає кількість рядків, які відповідає певним критеріям.,
SUM - повертає суму (загальну) значень в певному стовпці. Рядки стовпців зі значеннями NULL ігноруються функцією SUM.
AVG - середнє значення в стовпці,
Функції агрегування використовуються як імена полів в реченні запиту SELECT, але з одним винятком: імена полів застосовуються як аргументи. Функції SUM і AVG можуть працювати тільки з цифровими полями. Функції COUNT, MAX, MIN працюють як з цифровими так і з символьними полями. При застосуванні до символьних полях функції MAX і MIN можуть працюють з ASCII еквівалентами символів.
Використання CROUP BY дозволяє застосовувати агрегатні функції до груп записів.
Команда CREATE VIEW. Подання створюється командою CREATE VIEW. Вона складається зі слів CREATE VIEW (СТВОРИТИ ПОДАННЯ), імені уявлення яке потрібно створити, слова AS (ЯК), і далі запиту. Створимо уявлення Londonstaff:
Це подання використовується точно так само як і будь-яка інша таблиця. Вона може бути запрошена, модифікована, вставлена в, видалена з, і з'єднана з, іншими таблицями і уявленнями. Запит уявлення: