Information schema
gäller för: Databricks SQL Databricks Runtime 10.4 LTS och senare Unity Catalog
INFORMATION_SCHEMA
är en SQL-standardbaserad schema, som tillhandahålls i varje catalog som skapas på Unity Catalog.
I informationen schemakan du hitta en set med views som beskriver de objekt som är kända för schema:s catalog och som du har behörighet att se.
Informationen schema för SYSTEM
catalog returnerar information om objekt i alla catalogs i metaarkivet. Information schema system tables innehåller inte metadata om hive_metastore
objekt.
Syftet med informationen schema är att tillhandahålla ett SQL-baserat, självbeskrivande API för metadata.
Entitetsrelationsdiagram över informationen schema
Följande diagram över entitetsrelationer (ER) ger en översikt över en delmängd av information schemaviews och hur de relaterar till varandra.
Information schemaviews
Name | beskrivning |
---|---|
CATALOG_PRIVILEGES | Visar huvudnamn som har behörigheter på catalogs. |
CATALOG_PROVIDER_SHARE_USAGE | Beskriver leverantörens del monterad på catalogs. |
CATALOG_TAGS | Innehåller taggar som har tillämpats på catalogs. |
CATALOGS | Beskriver catalogs. |
CHECK_CONSTRAINTS | Reserverad för framtida användning. |
COLUMN_MASKS | Beskriver column masker på tablecolumns i catalog. |
COLUMN_TAGS | Innehåller column taggningsmetadata i en table. |
COLUMNS | Beskriver columns av tables och views i catalog. |
CONNECTION_PRIVILEGES | Visar huvudnamn som har behörigheter på den externa connections. |
CONNECTIONS | Beskriver främmande connections. |
CONSTRAINT_COLUMN_USAGE | Beskriver begränsningarna som refererar till columns i catalog. |
CONSTRAINT_TABLE_USAGE | Beskriver begränsningarna som refererar till tables i catalog. |
CREDENTIAL_PRIVILEGES | Visar huvudnamn som har behörigheter på credentials. |
CREDENTIALS | Beskriver credentials. |
EXTERNAL_LOCATION_PRIVILEGES | Visar en lista över huvudnamn som har behörighet på de externa platserna. |
EXTERNAL_LOCATIONS | Beskriver externa platser. |
INFORMATION_SCHEMA_CATALOG_NAME | Returnerar namnet på den här informationen schema's catalog. |
KEY_COLUMN_USAGE | Visar columns för de primär- eller främmande nyckelbegränsningarna i catalog. |
METASTORE_PRIVILEGES | Visar en lista över huvudnamn som har behörighet för det aktuella metaarkivet. |
METASTORES | Beskriver det aktuella metaarkivet. |
PARAMETERS | Beskriver parameters av routines (funktioner) i catalog. |
PROVIDERS | Beskriver providers. |
RECIPIENT_ALLOWED_IP_RANGES | Visar tillåtna IP-intervall för recipients. |
RECIPIENT_TOKENS | Visar token för recipients. |
RECIPIENTS | Beskriver recipients. |
REFERENTIAL_CONSTRAINTS | Beskriver referensbegränsningar (främmande nyckel) som definierats i catalog. |
ROUTINE_COLUMNS | Beskriver resultat columns av table värderade funktioner. |
ROUTINE_PRIVILEGES | Visar huvudnamn som har behörigheter på routines i catalog. |
ROUTINES | Beskriver routines (funktioner) i catalog. |
ROW_FILTERS | Beskriver radfilter på tables i catalog. |
SCHEMA_PRIVILEGES | Visar huvudnamn som har behörigheter i schemana i catalog. |
SCHEMA_TAGS | Innehåller schema taggningsmetadata i schema. |
SCHEMA_SHARE_USAGE | Beskriver de scheman som refereras i shares. |
SCHEMATA | Beskriver scheman i catalog. |
SHARE_RECIPIENT_PRIVILEGES | Beskriver recipients beviljad åtkomst till shares. |
SHARES | Beskriver shares. |
STORAGE_CREDENTIAL_PRIVILEGES | [Inaktuell] Visar huvudnamn som har behörigheter på lagringsplatsen credentials. |
STORAGE_CREDENTIALS | [Inaktuell] Beskriver lagring credentials. |
TABLE_CONSTRAINTS | Beskriver metadata för alla primära och främmande nyckelbegränsningar i catalog. |
TABLE_PRIVILEGES | Visar huvudnamn som har behörigheter på tables och views i catalog. |
TABLE_SHARE_USAGE | Beskriver tables som refereras till i shares. |
TABLE_TAGS | Innehåller table taggningsmetadata i en table. |
TABLES | Beskriver tables och views som definierats i catalog. |
VIEWS | Beskriver visa specifik information om views i catalog. |
VOLUMES | Beskriver volumes som definierats i catalog. |
VOLUME_PRIVILEGES | Visar huvudnamn som har behörigheter på volumes i catalog. |
VOLUME_TAGS | Innehåller metadata för volymtaggning som tillämpas på en volym. |
Kommentar
Identifierare är skiftlägesokänsliga när de refereras i SQL-instruktioner, men de lagras i informationen schema som STRING
.
Detta innebär att du antingen måste söka efter dem med hjälp av det fall där identifier lagras eller använda funktioner som ilike.
Exempel
> SELECT table_name, column_name
FROM information_schema.columns
WHERE data_type = 'DOUBLE'
AND table_schema = 'information_schema';
Följande är exempel på arbetsflöden som använder information på systemnivå schematables.
Om du vill visa alla tables som har skapats under de senaste 24 timmarna kan frågan se ut så här.
> SELECT table_name, table_owner, created_by, last_altered, last_altered_by, table_catalog
FROM system.information_schema.tables
WHERE datediff(now(), last_altered) < 1;
Om du vill visa hur många tables du har i varje schemabör du överväga följande exempel.
> SELECT table_schema, count(table_name)
FROM system.information_schema.tables
WHERE table_schema = 'tpch'
GROUP BY table_schema
ORDER BY 2 DESC