Ближайший вариант - запросить у INFORMATION_SCHEMA
таблицы.
SELECT *
FROM INFORMATION_SCHEMA.Tables
WHERE table_schema = 'mydatabase';
INFORMATION_SCHEMA
является частью стандартного SQL, но не все поставщики поддерживают его. Насколько я знаю, единственные поставщики СУБД, которые поддерживают это:
База данных некоторых брендов, например Oracle, IBM DB2, Firebird, Derby и т. Д. Имеют похожие представления «каталога», которые предоставляют вам интерфейс для запроса метаданных в системе. Но имена представлений, содержащиеся в них столбцы и их отношения не соответствуют стандарту ANSI SQL для INFORMATION_SCHEMA
. Другими словами, похожая информация доступна, но запрос, который вы бы использовали для получения этой информации, отличается.
(сноска: представления каталога в IBM DB2 UDB для System i отличаются от представлений каталога в IBM DB2 UDB для Windows / * NIX - так много для Universal в UDB!)
Некоторые другие бренды (например, SQLite) вообще не предлагают какого-либо запрашиваемого интерфейса для метаданных.