SELECT FROM INFORMATION_SCHEMA
Содержание раздела
Поддерживается в версиях: 7.0 / 6.12 / 6.11 / 6.10 / 6.9 / 6.8 / 6.7 / 6.6 / 6.5 / 6.4 / 6.3 / 6.2 / 6.1 / 6.0 / 5.8 / 5.7 / 5.6 / 5.5 / 5.4 / 5.3 / 5.2 / 5.1 / 5.0.
Запрос возвращает метаданные объектов логической схемы, описанные в разделе Системные представления (INFORMATION_SCHEMA). Возможности запроса отличаются от возможностей SELECT-запроса к логическим базам данных.
Синтаксис
SELECT { * | column_name[, ... ] }
FROM [INFORMATION_SCHEMA.]system_view_name [AS alias_name]
Параметры:
column_name-
Имя выбираемого столбца.
Чтобы выбрать все столбцы, укажите символ*. system_view_name-
Имя системного представления, из которого запрашивается информация. Возможные значения см. в разделе Системные представления (INFORMATION_SCHEMA).
alias_name-
Псевдоним системного представления.
Префикс INFORMATION_SCHEMA перед именем системного представления опционален, если до этого был выполнен запрос USE INFORMATION_SCHEMA. Для имен системных представлений и столбцов можно использовать псевдонимы.
Поддерживаемые ключевые слова
В запросе поддерживаются следующие ключевые слова, которые должны быть указаны в порядке их перечисления:
JOIN ON— соединяет данные нескольких системных представлений;WHERE— задает условия выбора данных;GROUP BY— группирует данных;ORDER BY— сортирует данных;LIMIT— задает количество строк ответа.
Строковые значения столбцов в условии WHERE указывайте в верхнем регистре или с использованием ключевого слова UPPER, например, так: WHERE table_schema = 'MARKETING' или WHERE table_schema = UPPER('marketing').
Поддерживаемые типы соединений
Поддерживаются следующие типы соединений системных представлений:
[INNER] JOIN— внутреннее соединение,LEFT [OUTER] JOIN— левое внешнее соединение,RIGHT [OUTER] JOIN— правое внешнее соединение,FULL [OUTER] JOIN— полное внешнее соединение,CROSS JOIN— декартово произведение, ключи соединения не указываются.
Варианты ответа
В ответе возвращается:
- объект ResultSet c выбранными записями при успешном выполнении запроса;
- исключение при неуспешном выполнении запроса.
Ограничения
- Не допускается комбинирование подзапросов к
INFORMATION_SCHEMAс подзапросами к логическим базам данных. - Параметризованные запросы к информационной схеме не поддерживаются.
- Строковые значения столбцов в условии
WHEREдолжны быть указаны в верхнем регистре или с использованием ключевого словаUPPER.
Примеры
Запрос списка всех логических БД окружения
Запрос списка всех логических БД окружения с лексической сортировкой по возрастанию:
SELECT schema_name FROM INFORMATION_SCHEMA.schemata ORDER BY schema_name
Запрос информации о сущностях логической БД
Запрос информации о логических сущностях логической БД MARKETING:
SELECT * FROM INFORMATION_SCHEMA.tables
WHERE table_schema = 'MARKETING'
Запрос имен, типов и столбцов логических сущностей
Запрос списка имен, типов и столбцов логических сущностей окружения:
SELECT TC.table_schema, TC.table_name, TT.table_type, TC.column_name
FROM information_schema.columns AS TC
JOIN information_schema.tables AS TT
ON TC.table_schema = TT.table_schema and TC.table_name = TT.table_name
ORDER BY TC.table_schema, TC.table_name