MySQL / 9. Получение и использование метаданных

Большинство написанных ранее запросов работали с данными, хранящимися в базе данных. Собственно, именно для этого и создаются базы данных. Но иногда нам требуются не просто значения данных, а нечто большее: характеристики или описания этих значений, то есть метаданные (metadata). Метаданные часто используются при обработке результирующих множеств, но могут применяться и в других аспектах вашего взаимодействия с MySQL.
Статьи раздела '9. Получение и использование метаданных':
Вывод списков таблиц и баз данных
Задача Вы хотите получить список таблиц базы данных или баз данных, работающих на сервере MySQL. Решение Используйте запрос SHOW TABLES или SHOW DATABASES. Обсуждение Чтобы получить список таблиц текущей базы данных, испо...
Мониторинг сервера MySQL
Задача Вы хотите посмотреть, как был сконфигурирован сервер, или отслеживать его состояние. Решение Используйте для этого предложения SHOW VARIABLES и SHOW STATUS. Обсуждение Предложения SHOW VARIABLES и SHOW STATUS вывод...
Определение количества строк, обработанных запросом
Задача Вы хотите узнать, сколько строк было обработано запросом. Решение Некоторые API предоставляют счетчик в виде значения, возвращаемого функцией, выдающей запрос. В других имеется отдельная функция, вызываемая после выпол...
Определение наличия или отсутствия результирующего множества
Задача Вы выполнили запрос, полученный от внешнего источника, и точно не знаете, возвращает ли он результирующее множество. Решение Проверьте количество столбцов в метаданных. Если оно равно 0, то результирующего множества не...
Определение текущего пользователя MySQL
Задача Каково имя пользователя клиентского приложения, и с какого хоста установлено соединение? Решение Используйте функцию USER(). Обсуждение Предложение SELECT USER() возвращает строку вида user@host, указывающую имя те...
Определение текущей базы данных
Задача Была ли какая-то база данных выбрана текущей? Если да, то как она называется? Решение Используйте функцию DATABASE(). Обсуждение Предложение SELECT DATABASE() возвращает имя текущей базы данных или пустую строку, е...
Определение типов таблиц, поддерживаемых сервером
Задача Вы хотите понять, можно ли создать таблицу указанного типа. Решение Спросите у сервера, какие типы таблиц он поддерживает. Обсуждение Предложение SHOW VARIABLES может сообщить вам о том, доступен ли определенный ти...
Получение информации о столбцах ENUM и SET
Задача Вы хотите узнать, какие значения допустимы в качестве членов столбца ENUM или SET. Решение Используйте предложение SHOW COLUMNS для получения определения столбца и извлечения списка его членов. Обсуждение Иногда во...
Получение информации о структуре таблицы
Задача Вы хотите узнать, как определена таблица. Решение Есть несколько способов сделать это, начиная с предложений, непосредственно возвращающих такую информацию, и заканчивая метаданными запроса к таблице. Обсуждение На...
Применение информации о структуре таблицы
Задача Конечно, хорошо уметь получать информацию о структуре таблицы, но что с ней делать дальше? Решение Есть множество вариантов: выводить списки столбцов таблицы, создавать элементы веб-формы, формировать предложения ALTER...
Проверка существования базы данных
Задача Вы хотите узнать, существует ли база данных. Решение Используйте предложение SHOW DATABASES, чтобы посмотреть, присутствует ли база данных в списке. Обсуждение SHOW DATABASES может использоваться для определения то...
Проверка существования таблицы
Задача Вы хотите знать, существует ли таблица. Решение Используйте предложение SHOW TABLES, чтобы посмотреть, присутствует ли таблица в списке. Обсуждение Вы можете использовать предложение SHOW TABLES для проверки сущест...
Создание приложений, адаптирующихся к версии сервера MySQL
Задача Вы хотите использовать некоторую возможность, которая доступна только начиная с какой-то версии MySQL. Решение Запросите версию сервера. Если она слишком старая, вероятно, удастся вернуться назад и использовать обходно...
Способы получения информации о таблицах, не зависящие от СУБД
Задача Вы хотите получить информацию о таблице, не используя собственные запросы MySQL типа SHOW COLUMNS. Решение Это возможно не во всех API. Одним из исключений является JDBC, предоставляющий стандартный интерфейс для метад...
Форматирование результатов запроса для отображения
Задача Вы хотите вывести результирующее множество красиво отформатированным. Решение Прибегните к помощи метаданных. Они могут предоставить вам важную информацию о структуре и содержимом результата. Обсуждение Метаданные ...

Страницы: 1