4. Какие статистические функции можно использовать в запросах
5. Объясните назначение группировки и правила выполнения запросов с группировкой
6. Объясните формат запроса с сортировкой
7. Виды подзапросов
8. Какие операторы можно использовать для формирования подзапросов и их назначение
Тема 5: Встроенные функции MySQL
Цель: рассмотреть назначение основных встроенных функций СУБД MySQL и способы их применения.
Функции – это подпрограммы, возвращающие значения, иногда основываясь на значениях вводимых параметров. Функции можно использовать везде, где разрешены выражения, в том числе вместо параметров самих функций. Другими словами допускаются вложенные вызовы функций.
Большинство функций принимает параметры в круглых скобках, причем между именем функции и открывающейся скобкой не должно быть пробелов. Это помогает программе отличать имена функций от имен столбцов.
У некоторых функций есть несколько уровней необязательных параметров.
Описанные ниже функции возвращают информацию о сервере либо помогаю при отладке.
Функция BENCHMARK вычисляет требуемое выражение столько раз, сколько указано в первом аргументе. Она всегда возвращает нуль, но если используется клиент то будет также подсчитано время, затраченное на выполнение функции.
Эта функция возвращает идентификатор текущего соединения.
Эта функция возвращает имя стандартной базы данных. Если таковая не выбрана, возвращается NULL.
LAST_INSERT_ID([идентификатор])
Для каждого соединения программа MySQL хранит последнее значение счетчика, служащего первичным ключом. Функция возвращает это значение. Если функции передать аргумент, она установит его в качестве нового значения счетчика.
Существуют два основных применения функции LAST_INSERT_ID. Чаще всего, она используется со столбцами типа AUTO_INCREMENT. Если вследствие какого-либо запроса значение данного столбца увеличивается автоматически, то это значение запоминается и впоследствии возвращается функцией LAST_INSERT_ID. Если же значение столбца задается вручную, то на функции это никак не отражается.
С другой стороны, с помощью функции LAST_INSERT_ID можно имитировать последовательные счетчики, связав ее с таблицей, состоящей из одного столбца.
Это синоним функции USER
Эта функция возвращает имя пользователя, начавшего текущий сеанс работы с сервером. Сообщается также имя компьютера, за которым работает пользователь.
Эта функция сообщает номер версии сервера MySQL.
Описанные ниже функции управляют выполнением программного кода. Функции CASE и CASE WHEN реализованы подобно инструкциям языков третьего поколения и не используют скобки, но, в остальном, они аналогичны функциям. Две функции блокирования, а также функция, заставляющая главную базу данных дождаться синхронизации подчиненной базы данных, полезны при работе в многопользовательской среде.
Синтаксис конструкцииCASE таков:
CASE проверяемое выражение
WHEN значение 1 THEN возвращаемое значение 1
[WHEN значение2 THEN возвращаемое значение 2]
[ELSE значение по умолчанию ]
END
Конструкция CASE вычисляет проверяемое выражение и сравнивает результат с одним из значений, указанных в предложении WHEN. Если найдено совпадение, возвращается соответствующее значение предложения THEN. В противном случае возвращается значение по умолчанию.