Dela via


Information schema

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

ER-diagram över information schema

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