SHOW COLUMNS¶
列出您具有访问权限的表或视图中的列。此命令的用途是,列出指定的表/视图/架构/数据库(或会话的当前架构/数据库)或整个账户的列。
- 另请参阅:
-
COLUMNS 视图 (Information Schema)
语法¶
SHOW COLUMNS [ LIKE '<pattern>' ]
[ IN { ACCOUNT | DATABASE [ <database_name> ] | SCHEMA [ <schema_name> ] | TABLE | [ TABLE ] <table_name> | VIEW | [ VIEW ] <view_name> } | APPLICATION <application_name> | APPLICATION PACKAGE <application_package_name> ]
参数¶
LIKE '<pattern>'按对象名称筛选命令输出。筛选器使用 不区分大小写 的模式匹配,并支持 SQL 通配符(
%和_)。例如,以下模式返回相同的结果:
... LIKE '%testing%' ...... LIKE '%TESTING%' ...IN { ACCOUNT | DATABASE [ <database_name> ] | SCHEMA [ <schema_name> ] | TABLE | [ TABLE ] <table_name> | VIEW | [ VIEW ] <view_name> | APPLICATION <application_name> | APPLICATION PACKAGE <application_package_name> }指定命令的作用域,作用域决定命令是仅列出当前/指定数据库、架构、表或视图的记录,还是列出整个账户中的记录:
如果您指定关键字
ACCOUNT,则该命令将检索当前账户的所有数据库中所有架构的记录。如果您指定关键字
DATABASE,那么:如果指定
db_name,则该命令将检索指定数据库的所有架构的记录。If you don't specify a
db_name, then:如果存在当前数据库,则该命令将检索当前数据库中所有架构的记录。
如果当前没有数据库,则该命令将检索账户中所有数据库和架构的记录。
如果您指定关键字
SCHEMA,那么:If you specify a qualified schema name (for example,
my_database.my_schema), then the command retrieves records for the specified database and schema.如果您指定了未限定的
schema_name,那么:如果存在当前数据库,则该命令将检索当前数据库中指定架构的记录。
如果当前没有数据库,则该命令会显示错误
SQL compilation error: Object does not exist, or operation cannot be performed。
If you don't specify a
schema_name, then:如果当前有数据库,那么:
如果当前存在架构,则该命令将检索当前数据库中当前架构的记录。
如果不存在当前架构,则该命令将检索当前数据库中所有架构的记录。
如果当前没有数据库,则该命令将检索账户中所有数据库和所有架构的记录。
如果指定了不带
table_name的TABLE关键字,则:如果当前有数据库,那么:
如果当前存在架构,则该命令将检索当前数据库中当前架构的记录。
如果不存在当前架构,则该命令将检索当前数据库中所有架构的记录。
如果当前没有数据库,则该命令将检索账户中所有数据库和所有架构的记录。
如果指定了 :code:` <table_name> ` (带或不带
TABLE关键字),则:如果指定了完全限定的 :code:` <table_name> ` (例如
my_database_name.my_schema_name.my_table_name),则该命令将检索指定表的所有记录。如果指定了架构限定的 :code:` <table_name> ` (例如
my_schema_name.my_table_name),则:如果当前数据库存在,该命令将检索指定表的所有记录。
如果当前数据库不存在,该命令将显示如下所示的错误: :code:` Cannot perform SHOW <object_type>.This session does not have a current database...`.
如果您指定了未限定的
<table_name>,那么:
如果指定关键字
VIEW或视图名称,则视图的规则与表的规则同时有效。如果您指定关键字
APPLICATION或APPLICATION PACKAGE,则返回指定 Snowflake Native App Framework 应用程序或应用程序包的记录。默认:取决于会话当前是否正在使用数据库:
数据库:
DATABASE是默认值(即该命令返回您有权在数据库中查看的对象)。无数据库:
ACCOUNT是默认值(即该命令返回您有权在账户中查看的对象)。
使用说明¶
如果使用关键字
VIEW并指定视图名称,则视图可以是物化视图,也可以是非物化视图。
该命令不需要正在运行的仓库即可执行。
该命令仅返回当前用户的当前角色已获授至少一项访问权限的对象。
MANAGE GRANTS 访问权限隐式允许其持有者查看账户中的每个对象。默认情况下,只有账户管理员(具有 ACCOUNTADMIN 角色的用户)和安全管理员(具有 SECURITYADMIN 角色的用户)才具有 MANAGE GRANTS 权限。
To post-process the output of this command, you can use the pipe operator (
->>) or the RESULT_SCAN function. Both constructs treat the output as a result set that you can query.The output column names for this command are generated in lowercase. If you consume a result set from this command with the pipe operator or the RESULT_SCAN function, use double-quoted identifiers for the column names in the query to ensure that they match the column names in the output that was scanned. For example, if the name of an output column is
type, then specify"type"for the identifier.
该命令 最多 返回指定对象类型的 1 万条记录,由用于执行命令的角色的访问权限决定。即使应用了筛选器,也不会返回任何超出 1 万条限制后的记录。
要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中查询相应的视图(如果存在)。
输出¶
命令输出在以下列中提供列属性和元数据:
列 |
描述 |
|---|---|
|
列所属的表的名称。 |
|
表的架构。 |
|
列的名称。 |
|
列数据类型和适用属性,如长度、精度、小数位数、可为 null 等;请注意,字符列和数值列显示其泛型数据类型,而不是为其定义的数据类型(即 TEXT 对应所有字符类型、FIXED 对应所有定点数值类型和 REAL 对应所有浮点数值类型)。 |
|
列是否可以包含 NULL 值。 |
|
为列定义的默认值(如果有)。 |
|
不适用于列(始终显示 COLUMN 作为值)。 |
|
|
|
列的注释(如果有)。 |
|
表的数据库。 |
|
列的自动递增起始值和增量值(如果有)。如果列具有 NOORDER 属性,则值包括 |
|
记录特定表列最新触发的架构演进信息。此列包含以下子字段:
|
示例¶
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 | |
+------------+-------------+-------------+---------------------------------------------------------------------------------------+-------+----------------+--------+------------+---------+---------------+-------------------------------+