Dela via


Informationsschema

gäller för:kontrollera markerat ja Databricks SQL kontrollera markerat ja Databricks Runtime 10.4 LTS och senare kontrollera markerat ja 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.

ER-diagram över informationsschema

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