- •Практичні завдання
- •2.Робота із запитами Теоретичні відомості
- •Практичні завдання
- •3. Функції маніпулювання даними Теоретичні відомості
- •Практичні завдання
- •Теоретичні відомості
- •Практичні завдання
- •5. Об’єднання таблиць Теоретичні відомості
- •Практичні завдання
- •7. Представлення Теоретичні відомості
- •Практичні завдання
- •8. Індекси. Зовнішній ключ Теоретичні відомості
- •Практичні завдання
- •9. Транзакції Теоретичні відомості
- •Практичні завдання
- •10. Проектування власної бази даних MySql
2.Робота із запитами Теоретичні відомості
Запит — команда, яку дають СУБД для виведення певних даних з таблиць у пам'ять.
У найпростішій формі команда SELECTінструктує базу даних про те, як витягти інформацію з таблиці.
Використовуючи ключове слово AS, виразу в SELECT можна привласнити псевдонім.
WHERE — конструкція команди SELECT, що дозволяє встановлювати предикати, умова яких може бути або істинною, або хибною для будь- якого рядка таблиці. Команда витягує тільки ті рядки з таблиці, для яких таке твердження істинне.
Оператор IN визначає набір значень, які може приймати деяка величина.
LIKE застосовують тільки до текстових полів, наприклад, CHAR чи VARCHAR, з якими він використовується, щоб знаходити підстрічки. Тобто він шукає у текстовому полі, чи співпадає з умовою його вміст. Як умову оператор використовує групові символи (wildkards) — спеціальні символи, які можуть відповідати чому-небудь. Є два типи групових символів, що використовуються з LIKE:
символ підкреслення _ замінює будь-який один символ. Наприклад, ’b_t’ буде відповідати словам ’bat’ або ’bit’, але не буде відповідати ’brat’.
знак відсотка (%) замінює послідовність будь-якого числа символів (включаючи символи нуля). Наприклад, ’%p%t’ буде відповідати словам 'put’, ’posit’, ’opt’, але не ’spite’.
Агрегатні функції Запити можуть видавати узагальнене групове значення полів і значення одного поля. Це робиться за допомогою агрегатних функцій.
Агрегатні функції видають одне значення для всієї групи таблиці. Список цих функцій:
COUNT — видає кількість не порожніх (значення не NULL) рядків поля, які вибрав запит.
SUM — видає арифметичну суму всіх вибраних значень поля.
AVG — видає середнє арифметичне всіх вибраних значень поля.
МАХ — видає найбільше зі всіх вибраних значень поля.
МІN — видає найменше зі всіх вибраних значень поля.
Усі агрегатні функції ігнорують порожні (NULL) значення полів. Виняток становить лише функція COUNT. При вказуванні як аргументу символа * (зірочка) вона видасть кількість рядків незалежно від того, які значення в них містяться.
Конструкція GROUP BY дозволяє визначати підмножину значень і застосовувати агрегатну функцію до цієї підмножини. Це дає можливість поєднувати поля й агрегатні функції в єдиній конструкції SELECT.
Конструкція HAVING визначає критерії, що використовуються для видалення певних груп з виведення, так само, як конструкція WHERE робить де для окремих рядків.
Синтаксис
SELECT [STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY]
[DISTINCT | DISTINCTROW | ALL]
select_expression,...
[INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
[FROM table_references
[WHERE where_definition]
[GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[LIMIT [offset,] rows]
[PROCEDURE procedure_name]
[FOR UPDATE | LOCK IN SHARE MODE]]
Приклади.
SELECT CONCAT(last_name,', ',first_name) AS full_name
FROM mytable ORDER BY full_name;
