
- •Система управления базами данных MySql
- •Тема 1: Архитектура и назначение сервера. Основные функции
- •1.1. Введение в субд MySql
- •1.2. Основные программы и утилиты MySql
- •1.3. Инсталляция MySql на разных платформах
- •Контрольные вопросы
- •Тема 2: Основные типы данных и операторы субд MySql
- •Типы данных
- •Переменные
- •Операторы
- •Контрольные вопросы
- •Тема 3: Утилита mysql
- •3.1 Функции mysql
- •3.2 Работа с базами данных и таблицами
- •Контрольные вопросы
- •Тема 4: Выборка данных
- •Простые запросы
- •Объединение таблиц
- •Объединение таблицы с собой
- •Теоретико-множественные операции с таблицами
- •Подзапросы
- •Контрольные вопросы
- •Тема 5: Встроенные функции MySql
- •5.1 Общие понятия
- •5.2 Отладка и конфигурирование
- •Управляющие функции
- •If(условие, значение истина,значение_ложь)
- •Ifnull( проверяемое_значение, возвращаемое _значение)
- •Статистические и математические функции
- •Функции работы с датой и временем
Контрольные вопросы
Объясните основные параметры вызова утилиты mysql.
Какие команды для работы со схемой БД вам знакомы? Объясните их формат и назначение
Какие команды для работы со схемой таблицы вам известны? Объясните их формат и назначение
Объясните формат команды INSERT и принцип ее работы
Объясните на примере формат команды DELETE
Объясните формат и принцип работы команды UPDATE
Тема 4: Выборка данных
Цель: рассмотреть особенности выборки различной информации из таблиц базы данных
Простые запросы
Для получения значений атрибутов таблиц баз данных используется команда SELECT. Общий вид команды представляется следующим образом:
SELECT my_field1, my_field2,… , my_fieldN
FROM table_name
WHERE условие;
После слова SELECT идет перечисление имен атрибутов, значения которых мы выбираем. Можно все заменить символом «*» если нам необходимо выбрать данные всех атрибутов.
При выполнении запроса в оперативной памяти создается виртуальная таблица, состоящая из всех данных, удовлетворяющих условию отбора, а исходная таблица при этом никак не изменяется.
После ключевого слова WHERE формируется условие с применением операторов, которые были описаны в предыдущей теме. Условия могут быть разной степени сложности.
Кроме того после ключевого слова SELECT кроме имен атрибутов, могут находиться также вычисляемые выражения или подзапросы (будут рассмотрены далее).
Для ограничения количества результирующих строк, удовлетворяющих условию отбора, используется выражение LIMIT, которое дописывается в конец запроса с максимальным числом строк для вывода в качестве простейшего аргумента.
Для сортировки результатов отбора предусмотрен оператор ORDER BY. Он позволяет сортировать строки в результирующей таблице в соответствии со значениями выбранных атрибутов (если атрибутов несколько, то приоритет сортировки убывает при перечислении атрибутов слева направо). Поддерживается два типа сортировки: по возрастанию (ASC, этот режим действует по умолчанию) и по убыванию (DESC).
В некоторых запросах необходимо выполнить числовые статистические операции. Для этого предназначены следующие функции:
- AVG – получение среднего арифметического значения атрибута по всем результирующим строкам;
- MIN – нахождение минимального значения среди всех результирующих строк;
- MAX – нахождение максимального значения среди всех результирующих строк;
- SUM – подсчет суммы числовых значений атрибута;
- COUNT - подсчет количества строк выборки. В качестве единственного атрибута ей передается название атрибута, значения которого будут учитываться.
Дополнительный параметр DISTINCT, указанный перед названием атрибута, позволяет вычесть из результата все вхождения по повторяющимся значениям выбранного поля.
Для разбиения результатов выборки по группам используется оператор GROUP BY. Разбиение строк по группам необходимо если мы вычисляем какие-либо функции не для всех значений атрибута, а для некоторых групп отобранных по какому-либо параметру.
Группировка производится по указываемому атрибуту, и строки распределяются по группам в соответствии со значениями атрибута в этой строке.
Для добавления условий на результат группировки в конструкцию GROUP BY добавляют выражение HAVING, работающее по аналогии с WHERE, но с группами строк, а не с отдельной строкой.