Посібник по промисловим мережам
Промислові мережі та інтеграційні технології в автоматизованих системах. 14. Стандартні технології доступу до баз даних
SQL (Structured Query Language – мова структурованих запитів) – це універсальна мова для створення, модифікації і управління даними в реляційних базах даних. Дана мова описана в стандарті ANSI 1992 року як SQL2 (SQL-92). На сьогоднішній день практично всі відомі СУБД підтримують даний стандарт, з деяким розширеннями до нього для адаптації під свої формати даних та функціональні можливості серверів. Такі мови називають діалектами SQL. Так, наприклад діалект СУБД MS SQL Server має назву Transact-SQL.
SQL використовується для створення структури бази даних, маніпуляції з даними, тобто їх вибірки і модифікації, та для їх адміністрування. Будь яка операція по вибірці, модифікації, визначенню або адмініструванню виконується за допомогою оператору (statement) або команди (command) SQL.
Є дві можливості операцій по маніпуляції з даними – вибірка даних (data retrieval) і модифікація даних (data modification). Вибірка – це пошук необхідних даних, а модифікація означає добавлення, знищення або заміна даних. Операції по вибірці називають SQL запитами (SQL queries). Вони проводять пошук в базі даних, найбільш ефективно вибирають необхідну інформацію і відображають її. У всіх запитах SQL використовується ключове слово SELECT. Операції по модифікації виконуються відповідно з використанням ключових слів INSERT, DELETE та UPDATE.
На практиці частіше всього приходиться робити вибірку даних, тому коротко розглянемо оператор SELECT. Спрощена його конструкція має вигляд:
SELECT список_стовбчиків
FROM таблиця[-ці]
[WHERE умови],
де слова в квадратних дужках [] – не обов’язкові.
В списку стовпчиків (полів записів) вказуються ті поля таблиці, які повертаються після обробки запиту. Список таблиць визначає з яких таблиць необхідно проводити вибірку, а в умовах вказують умови для вибірки рядків.
Приклад 14.1. Бази даних. Формування SQL-запитів 1.
Завдання. Записати запит для вибірки даних з поля (колонки) Value таблиці Group_1_1 бази даних Difuzija_1, які були записані після 19 вересня 2006 року. Дата запису знаходиться в полі Group_1_1.TDate.
Рішення.
SELECT Value
FROM Difuzija_1.Group_1_1
WHERE Group_1_1.TDate>'2006-09-19 00:00:00'
Приклад 14.2. Бази даних. Формування SQL-запитів 2.
Завдання. Записати запит для вибірки даних з усіх полів таблиці Group_1_1 бази даних Difuzija_1, які були записані після 19 вересня 2006 року. Дата запису знаходиться в полі Group_1_1.TDate.
SELECT *
FROM Difuzija_1.Group_1_1
WHERE Group_1_1.TDate>'2006-09-19 00:00:00'
Повний синтаксис оператора SELECT має наступний вигляд:
SELECT [ALL|DISTINCT] список_стовбчиків
FROM {таблиця | курсор}[,{таблиця | курсор}…]
[WHERE умови]
[GROUP BY стовпчик [, стовпчик…]]
[HEAVING умови]
[ORDER BY {ім’я_стовпчика | список_вибору}[ASC|DESC] ... ]
У списку SELECT вказуються ті поля (стовпчики), які необхідно повернути запитом. Є можливість зробити деякі операції над полями перед відображенням: +,-,*, /
.
Умови в WHERE задаються операторами порівняння (=,<,>, >=, <=, != або <>), логічними (AND, OR, NOT), визначення діапазону (BETWEEN і NOT BETWEEN) та ін.
Ключове слово ORDER BY дозволяє упорядковувати знайдені записи по вказаному стовпчику по зростанню ASC, або по спаданню DESC.
<– 14.1 Проблеми доступу до баз даних
–> 14.3. ODBC та DAO