SHOW COLUMNS¶
Listet die Spalten in den Tabellen oder Ansichten auf, für die Sie Zugriffsrechte haben. Mit diesem Befehl können Sie die Spalten für eine angegebene Tabelle/Ansicht/Datenbank oder ein angegebenes Schema (oder das aktuelle Schema/die aktuelle Datenbank für die Sitzung) oder Ihr gesamtes Konto auflisten.
- Siehe auch:
-
Ansicht COLUMNS (Information Schema)
Syntax¶
SHOW COLUMNS [ LIKE '<pattern>' ]
[ IN { ACCOUNT | DATABASE [ <database_name> ] | SCHEMA [ <schema_name> ] | TABLE | [ TABLE ] <table_name> | VIEW | [ VIEW ] <view_name> } ]
Parameter¶
LIKE '<Muster>'
Filtert die Befehlsausgabe nach dem Objektnamen. Der Filter verwendet eine Mustererkennung ohne Berücksichtigung der Groß-/Kleinschreibung, aber mit Unterstützung von SQL-Platzhalterzeichen (
%
und_
).Die folgenden Muster geben beispielsweise die gleichen Ergebnisse zurück:
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
IN { ACCOUNT | DATABASE [ <Datenbankname> ] | SCHEMA [ <Schemaname> ] | TABLE | [ TABLE ] <Tabellenname> | VIEW | [ VIEW ] <Ansichtsname> }
Gibt den Geltungsbereich des Befehls an, wodurch festgelegt wird, ob der Befehl Datensätze nur für die aktuelle/angegebene Datenbank, das aktuelle/angegebene Schema, die aktuelle/angegebene Tabelle oder Ansicht auflistet oder für Ihr gesamtes Konto.
Wenn Sie das Schlüsselwort
ACCOUNT
angeben, ruft der Befehl Datensätze für alle Schemas in allen Datenbanken des aktuellen Kontos ab.Wenn Sie das Schlüsselwort
DATABASE
angeben, dann gilt Folgendes:Wenn Sie einen Wert für
db_name
angeben, ruft der Befehl Datensätze für alle Schemas der angegebenen Datenbank ab.Wenn Sie keinen Wert für
db_name
angeben, dann gilt Folgendes:Wenn es eine aktuelle Datenbank gibt, ruft der Befehl Datensätze für alle Schemas in der aktuellen Datenbank ab.
Wenn es keine aktuelle Datenbank gibt, ruft der Befehl Datensätze aller Datenbanken und Schemas im Konto ab.
Wenn Sie das Schlüsselwort
SCHEMA
angeben, dann gilt Folgendes:Wenn Sie einen qualifizierten Schemanamen angeben (z. B.
my_database.my_schema
), ruft der Befehl Datensätze für die angegebene Datenbank und das angegebene Schema ab.Wenn Sie einen nicht qualifizierten Wert für
schema_name
angeben, dann gilt Folgendes:Wenn es eine aktuelle Datenbank gibt, ruft der Befehl Datensätze für das angegebene Schema in der aktuellen Datenbank ab.
Wenn keine aktuelle Datenbank vorhanden ist, zeigt der Befehl den Fehler
SQL compilation error: Object does not exist, or operation cannot be performed
an.
Wenn Sie keinen Wert für
schema_name
angeben, dann gilt Folgendes:Wenn es eine aktuelle Datenbank gibt, dann gilt Folgendes:
Wenn es ein aktuelles Schema gibt, dann ruft der Befehl Datensätze für das aktuelle Schema in der aktuellen Datenbank ab.
Wenn kein aktuelles Schema vorhanden ist, ruft der Befehl Datensätze für alle Schemas in der aktuellen Datenbank ab.
Wenn es keine aktuelle Datenbank gibt, ruft der Befehl Datensätze für alle Datenbanken und alle Schemas im Konto ab.
Wenn Sie das Schlüsselwort
TABLE
ohne einen Wert fürtable_name
angeben, dann gilt Folgendes:Wenn es eine aktuelle Datenbank gibt, dann gilt Folgendes:
Wenn es ein aktuelles Schema gibt, dann ruft der Befehl Datensätze für das aktuelle Schema in der aktuellen Datenbank ab.
Wenn kein aktuelles Schema vorhanden ist, ruft der Befehl Datensätze für alle Schemas in der aktuellen Datenbank ab.
Wenn es keine aktuelle Datenbank gibt, ruft der Befehl Datensätze für alle Datenbanken und alle Schemas im Konto ab.
Wenn Sie einen
<Tabellennamen>
(mit oder ohne SchlüsselwortTABLE
) angeben, dann gilt Folgendes:Wenn Sie einen vollqualifizierten
<Tabellennamen>
(z. B.my_database_name.my_schema_name.my_table_name
) angeben, dann ruft der Befehl alle Datensätze für die angegebene Tabelle ab.Wenn Sie einen Schema-qualifizierten
<Tabellennamen>
(z. B.my_schema_name.my_table_name
) angeben, dann:Wenn eine aktuelle Datenbank vorhanden ist, ruft der Befehl alle Datensätze für die angegebene Tabelle ab.
Wenn keine aktuelle Datenbank vorhanden ist, zeigt der Befehl eine Fehlermeldung ähnlich wie
Cannot perform SHOW <Objekttyp>. This session does not have a current database...
an.
Wenn Sie einen nicht qualifizierten
<Tabellennamen>
angeben, dann gilt Folgendes:Wenn eine aktuelle Datenbank und ein aktuelles Schema vorhanden sind, dann ruft der Befehl Datensätze für die angegebene Tabelle im aktuellen Schema der aktuellen Datenbank ab.
Wenn keine aktuelle Datenbank oder kein aktuelles Schema vorhanden ist, zeigt der Befehl eine Fehlermeldung ähnlich der folgenden an:
SQL compilation error: <Objekt> does not exist or not authorized.
.
Wenn Sie das Schlüsselwort
VIEW
oder einen Ansichtsnamen angeben, gelten die Regeln für Ansichten parallel zu den Regeln für Tabellen.Standard: Hängt davon ab, ob für die Sitzung aktuell eine Datenbank verwendet wird:
Datenbank:
DATABASE
ist der Standardwert (d. h. der Befehl gibt die Objekte zurück, für die Sie Berechtigungen zum Anzeigen in der Datenbank haben).Keine Datenbank:
ACCOUNT
ist die Standardeinstellung (d. h. der Befehl gibt die Objekte zurück, für die Sie Berechtigungen zum Anzeigen in Ihrem Konto haben).
Nutzungshinweise¶
Spalten, die mit dem Präfix
is_
beginnen, geben entwederY
(ja) oderN
(nein) zurück.Für die Ausführung des Befehls ist kein aktives Warehouse erforderlich.
Der Befehl gibt maximal 10.000 Datensätze für den angegebenen Objekttyp zurück, wie durch die Zugriffsrechte für die Rolle vorgegeben, die zur Ausführung des Befehls verwendet wird. Datensätze, die über dem Limit von 10.000 liegen, werden nicht zurückgegeben, selbst wenn ein Filter angewendet wird.
Um Ergebnisse anzuzeigen, für die mehr als 10.000 Datensätze existieren, fragen Sie die entsprechende Ansicht (falls vorhanden) in der Datei Snowflake Information Schema ab.
Zur Weiterverarbeitung der Ausgabe dieses Befehls können Sie die Funktion RESULT_SCAN verwenden, die die Ausgabe wie eine abfragbare Tabelle behandelt.
Wenn Sie das Schlüsselwort
VIEW
verwenden und einen Ansichtsnamen angeben, kann die Ansicht eine materialisierte Ansicht oder eine nicht materialisierte Ansicht sein.
Ausgabe¶
Die Befehlsausgabe enthält Spalteneigenschaften und Metadaten in den folgenden Spalten:
Spalte |
Beschreibung |
---|---|
|
Name der Tabelle, zu der die Spalten gehören. |
|
Schema der Tabelle. |
|
Name der Spalte. |
|
Spaltendatentyp und anwendbare Eigenschaften wie Länge, Genauigkeit, Dezimalstellenzahl, Nullwert usw. Beachten Sie, dass Zeichenspalten und numerische Spalten ihren generischen Datentyp und nicht ihren definierten Datentyp anzeigen (d. h. TEXT für alle Zeichentypen, FIXED für alle numerischen Festkommatypen und REAL für alle numerischen Gleitkommatypen). |
|
Gibt an, ob die Spalte NULL-Werte enthalten kann. |
|
Der ggf. für die Spalte definierte Standardwert. |
|
Nicht anwendbar für Spalten (zeigt immer COLUMN als Wert an). |
|
|
|
Der ggf. für die Spalte vorhandene Kommentar. |
|
Datenbank der Tabelle. |
|
Die ggf. für die Spalte vorhandenen Start- und Inkrementierungswerte für die automatische Inkrementierung. Wenn die Spalte die Eigenschaft NOORDER hat, enthält der Wert |
|
Erfasst Informationen zu der zuletzt ausgelösten Schemaentwicklung bei einer gegebenen Tabellenspalte. Diese Spalte enthält die folgenden Unterfelder:
|
Beispiele¶
create or replace table dt_test (n1 number default 5, n2_int integer default n1+5, n3_bigint bigint autoincrement, n4_dec decimal identity (1,10),
f1 float, f2_double double, f3_real real,
s1 string, s2_var varchar, s3_char char, s4_text text,
b1 binary, b2_var varbinary,
bool1 boolean,
d1 date,
t1 time,
ts1 timestamp, ts2_ltz timestamp_ltz, ts3_ntz timestamp_ntz, ts4_tz timestamp_tz);
show columns in table dt_test;
+------------+-------------+-------------+---------------------------------------------------------------------------------------+-------+----------------+--------+------------+---------+---------------+-------------------------------+
| table_name | schema_name | column_name | data_type | null? | default | kind | expression | comment | database_name | autoincrement |
|------------+-------------+-------------+---------------------------------------------------------------------------------------+-------+----------------+--------+------------+---------+---------------+-------------------------------|
| DT_TEST | PUBLIC | N1 | {"type":"FIXED","precision":38,"scale":0,"nullable":true} | true | 5 | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | N2_INT | {"type":"FIXED","precision":38,"scale":0,"nullable":true} | true | DT_TEST.N1 + 5 | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | N3_BIGINT | {"type":"FIXED","precision":38,"scale":0,"nullable":true} | true | | COLUMN | | | TEST1 | IDENTITY START 1 INCREMENT 1 |
| DT_TEST | PUBLIC | N4_DEC | {"type":"FIXED","precision":38,"scale":0,"nullable":true} | true | | COLUMN | | | TEST1 | IDENTITY START 1 INCREMENT 10 |
| DT_TEST | PUBLIC | F1 | {"type":"REAL","nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | F2_DOUBLE | {"type":"REAL","nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | F3_REAL | {"type":"REAL","nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | S1 | {"type":"TEXT","length":16777216,"byteLength":16777216,"nullable":true,"fixed":false} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | S2_VAR | {"type":"TEXT","length":16777216,"byteLength":16777216,"nullable":true,"fixed":false} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | S3_CHAR | {"type":"TEXT","length":1,"byteLength":4,"nullable":true,"fixed":false} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | S4_TEXT | {"type":"TEXT","length":16777216,"byteLength":16777216,"nullable":true,"fixed":false} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | B1 | {"type":"BINARY","length":8388608,"byteLength":8388608,"nullable":true,"fixed":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | B2_VAR | {"type":"BINARY","length":8388608,"byteLength":8388608,"nullable":true,"fixed":false} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | BOOL1 | {"type":"BOOLEAN","nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | D1 | {"type":"DATE","nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | T1 | {"type":"TIME","precision":0,"scale":9,"nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | TS1 | {"type":"TIMESTAMP_LTZ","precision":0,"scale":9,"nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | TS2_LTZ | {"type":"TIMESTAMP_LTZ","precision":0,"scale":9,"nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | TS3_NTZ | {"type":"TIMESTAMP_NTZ","precision":0,"scale":9,"nullable":true} | true | | COLUMN | | | TEST1 | |
| DT_TEST | PUBLIC | TS4_TZ | {"type":"TIMESTAMP_TZ","precision":0,"scale":9,"nullable":true} | true | | COLUMN | | | TEST1 | |
+------------+-------------+-------------+---------------------------------------------------------------------------------------+-------+----------------+--------+------------+---------+---------------+-------------------------------+