Informationsschema
gäller för: Databricks SQL
Databricks Runtime 10.4 LTS och senare
Endast Unity Catalog
INFORMATION_SCHEMA
är ett SQL-standardbaserat schema som tillhandahålls i varje katalog som skapas i Unity Catalog.
I informationsschemat hittar du en uppsättning vyer som beskriver de objekt som är kända för schemats katalog som du har behörighet att se.
Informationsschemat för SYSTEM
-katalogen returnerar information om objekt i alla kataloger i metaarkivet. Systemtabeller för informationsschema innehåller inte metadata om hive_metastore
objekt.
Syftet med informationsschemat är att tillhandahålla ett SQL-baserat, självbeskrivande API för metadata.
Entitetsrelationsdiagram över informationsschemat
Följande entitetsrelationsdiagram (ER) innehåller en översikt över en delmängd av informationsschemavyer och hur de relaterar till varandra.
Informationsschemavyer
Name | beskrivning |
---|---|
CATALOG_PRIVILEGES | Visar principaler som har behörigheter på katalogerna. |
CATALOG_PROVIDER_SHARE_USAGE | Beskriver providerandel monterad på kataloger. |
CATALOG_TAGS | Innehåller taggar som har tillämpats på katalogerna. |
CATALOGS | Beskriver kataloger. |
CHECK_CONSTRAINTS | Reserverad för framtida användning. |
COLUMN_MASKS | Beskriver kolumnmasker på tabellkolumner i katalogen. |
COLUMN_TAGS | Innehåller kolumntaggningsmetadata i en tabell. |
COLUMNS | Beskriver kolumner med tabeller och vyer i katalogen. |
CONNECTION_PRIVILEGES | Visar principaler som har behörigheter på de externa anslutningarna. |
CONNECTIONS | Beskriver externa anslutningar. |
CONSTRAINT_COLUMN_USAGE | Beskriver begränsningarna som refererar till kolumner i katalogen. |
CONSTRAINT_TABLE_USAGE | Beskriver begränsningarna som refererar till tabeller i katalogen. |
CREDENTIAL_PRIVILEGES | Visar huvudansvariga som har behörigheter på autentiseringsuppgifterna. |
CREDENTIALS | Beskriver autentiseringsuppgifter. |
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å det här informationsschemats katalog. |
KEY_COLUMN_USAGE | Visar kolumnerna för primär- eller utländska nyckelbegränsningarna i katalogen. |
METASTORE_PRIVILEGES | Visar en lista över huvudnamn som har behörighet för det aktuella metaarkivet. |
METASTORES | Beskriver det aktuella metaarkivet. |
PARAMETERS | Beskriver parametrar för rutiner (funktioner) i katalogen. |
PROVIDERS | Beskriver leverantörer. |
RECIPIENT_ALLOWED_IP_RANGES | Visar tillåtna IP-intervall för mottagare. |
RECIPIENT_TOKENS | Visar en lista över token för mottagare. |
RECIPIENTS | Beskriver mottagare. |
REFERENTIAL_CONSTRAINTS | Beskriver referensbegränsningar (främmande nyckel) som definierats i katalogen. |
ROUTINE_COLUMNS | Beskriver resultatkolumner för tabellvärdesfunktioner. |
ROUTINE_PRIVILEGES | Visar huvudnamn som har behörigheter på rutinerna i katalogen. |
ROUTINES | Beskriver rutiner (funktioner) i katalogen. |
ROW_FILTERS | Beskriver radfilter på tabeller i katalogen. |
SCHEMA_PRIVILEGES | Visar huvudnamn som har behörigheter på scheman i katalogen. |
SCHEMA_TAGS | Innehåller schemataggningsmetadata i schemat. |
SCHEMA_SHARE_USAGE | Beskriver de scheman som refereras till i delar. |
SCHEMATA | Beskriver scheman i katalogen. |
SHARE_RECIPIENT_PRIVILEGES | Beskriver mottagarna som beviljats åtkomst till resurser. |
SHARES | Beskriver aktier. |
STORAGE_CREDENTIAL_PRIVILEGES | [Inaktuell] Visar huvudnamn som har behörigheter för lagringsautentiseringsuppgifterna. |
STORAGE_CREDENTIALS | [Inaktuell] Beskriver autentiseringsuppgifter för lagring. |
TABLE_CONSTRAINTS | Beskriver metadata för alla primära och sekundärnyckelbegränsningar i katalogen. |
TABLE_PRIVILEGES | Visar huvudnamn som har behörigheter i tabellerna och vyerna i katalogen. |
TABLE_SHARE_USAGE | Beskriver tabellerna som refereras i andelar. |
TABLE_TAGS | Innehåller tabelltaggningsmetadata i en tabell. |
TABLES | Beskriver tabeller och vyer som definierats i katalogen. |
VIEWS | Beskriver specifik information om vyerna i katalogen. |
VOLUMES | Beskriver volymer som definierats i katalogen. |
VOLUME_PRIVILEGES | Visar principaler som har behörigheter på volymerna i katalogen. |
VOLUME_TAGS | Innehåller metadata för volymtaggning som tillämpas på en volym. |
Kommentar
Identifier är skiftlägesokänsliga när de refereras i SQL-instruktioner, men de lagras i informationsschemat som STRING
.
Detta innebär att du antingen måste söka efter dem med hjälp av det fall där identifieraren 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 schematabellerna för information på systemnivå.
Om du vill visa alla tabeller 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 tabeller du har i varje schema bö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