fieldbusbook

Посібник по промисловим мережам

Промислові мережі та інтеграційні технології в автоматизованих системах. 14. Стандартні технології доступу до баз даних

14.2. Мова SQL

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