SHOW SCHEMAS¶
列出您具有访问权限的架构,包括已删除的架构,这些架构仍在 Time Travel 保留期内,因此可以取消删除。该命令可用于列出当前/指定数据库的架构,或整个账户的架构。
相应输出会返回架构元数据和属性,根据数据库和架构名称按字典顺序排序。如果您希望使用提供的筛选器筛选结果,请务必注意这一点。
- 另请参阅:
CREATE SCHEMA、ALTER SCHEMA、DESCRIBE SCHEMA、DROP SCHEMA、UNDROP SCHEMA
SCHEMATA 视图 (Information Schema)
语法¶
SHOW [ TERSE ] SCHEMAS
[ HISTORY ]
[ LIKE '<pattern>' ]
[ IN { ACCOUNT | APPLICATION <app_name> | DATABASE [ <db_name> ] } ]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> [ FROM '<name_string>' ] ]
参数¶
TERSE
返回仅包含以下列的输出:
created_on
name
kind
database_name
schema_name
请注意,由于
kind
不适用于架构,并且schema_name
与name
存在重复,因此kind
和schema_name
始终显示NULL
。默认:无值(所有列都包含在输出中)
HISTORY
包括尚未清除的已删除架构(即它们仍在各自的 Time Travel 保留期内)。如果已删除架构存在多个版本,则输出将为每个版本显示一行。输出还包括其他
dropped_on
列,其中显示:日期和时间戳(对于已删除的架构)
NULL
(对于处于活动状态的架构)。
默认值:无值(输出中 不 包括已删除的架构)
LIKE 'pattern'
(可选)按对象名称筛选命令输出。筛选器使用 不区分大小写 的模式匹配,并支持 SQL 通配符(
%
和_
)。例如,以下模式返回 相同的 结果:
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
. 默认:无值(不对输出应用筛选)。
IN { ACCOUNT | APPLICATION app_name | [ DATABASE ] [ db_name ] }
指定命令的作用域,该作用域决定该命令是仅列出当前/指定数据库的记录,还是列出整个账户的记录。
APPLICATION
关键字不是必需的,但它指定了命名 Snowflake Native App 的范围。DATABASE
关键字并非必需,可以通过仅指定数据库名称来设置作用域。同样,如果会话当前正在使用某个数据库,则数据库名称也不是必需的。默认:取决于会话当前是否正在使用数据库:
数据库:
DATABASE
是默认值(即该命令返回您有权在数据库中查看的对象)。无数据库:
ACCOUNT
是默认值(即该命令返回您有权在账户中查看的对象)。
STARTS WITH 'name_string'
(可选)根据对象名称开头显示的字符筛选命令输出。该字符串必须放在单引号内并且 区分大小写。
例如,以下字符串会返回 不同的 结果:
... STARTS WITH 'B' ...
... STARTS WITH 'b' ...
. 默认:无值(不对输出应用筛选)
LIMIT rows [ FROM 'name_string' ]
(可选)限制返回的最大行数,同时还对结果启用“分页”功能。实际返回的行数可能小于指定的限制。例如,现有对象的数量小于指定的限制。
可选的
FROM 'name_string'
分子句实际上会充当结果的“游标”。这样就可以提取对象名称与指定字符串匹配的第一行之后的指定行数:该字符串必须放在单引号内并且 区分大小写。
该字符串不必包含完整的对象名称;支持部分名称。
默认:无值(不对输出应用限制)
备注
对于支持
FROM 'name_string'
和STARTS WITH 'name_string'
子句的 SHOW 命令,您可以将这两个子句组合在同一语句中。但是,两个条件都必须满足,否则它们相互抵消,不返回任何结果。此外,对象按名称的字典顺序返回,因此
FROM 'name_string'
仅返回字典值高于STARTS WITH 'name_string'
所返回行的行。例如:
... STARTS WITH 'A' LIMIT ... FROM 'B'
不会返回任何结果。... STARTS WITH 'B' LIMIT ... FROM 'A'
不会返回任何结果。... STARTS WITH 'A' LIMIT ... FROM 'AB'
将返回结果(如果有任何行与输入字符串匹配)。
使用说明¶
当您将范围指定为
APPLICATION
或名为SNOWFLAKE
的数据库时,owner
列返回SNOWFLAKE
作为名为LOCAL
的架构的所有者。例如:SHOW SCHEMAS IN APPLICATION my_app; SHOW SCHEMAS IN DATABASE SNOWFLAKE;
owner
列返回:+-----+-------+-----+-----------+-----+ | ... | name | ... | owner | ... | +-----+-------+-----+-----------+-----+ | ... | LOCAL | ... | SNOWFLAKE | ... | +-----+-------+-----+-----------+-----+
该命令不需要正在运行的仓库即可执行。
LIMIT rows
的值不能超过10000
。如果省略LIMIT rows
,若结果集大于 1 万行,则该命令将导致错误。要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中包含
LIMIT rows
或查询相应的视图。
若要对此命令的输出进行后处理,可以使用 RESULT_SCAN 函数,该函数会将输出视为可查询的表。
示例¶
显示当前数据库 mytestdb
中您有权查看的所有架构:
SHOW SCHEMAS; +---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+-----------------+--------+ | created_on | name | is_default | is_current | database_name | owner | comment | options | retention_time | owner_role_type | budget | |---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+-----------------+--------+ | Fri, 13 May 2016 17:58:37 -0700 | INFORMATION_SCHEMA | N | N | MYTESTDB | | Views describing the contents of schemas in this database | | 1 | ROLE | NULL | | Wed, 25 Feb 2015 16:16:54 -0800 | PUBLIC | N | Y | MYTESTDB | PUBLIC | | | 1 | ROLE | NULL | +---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+-----------------+--------+
显示当前数据库 mytestdb
中您有权查看的所有架构,包括已删除的架构(此示例基于 DROP SCHEMA 示例构建):
SHOW SCHEMAS HISTORY; +---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+---------------------------------+-----------------+----------+ | created_on | name | is_default | is_current | database_name | owner | comment | options | retention_time | dropped_on | owner_role_type | budget | |---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+---------------------------------+-----------------+----------+ | Fri, 13 May 2016 17:59:50 -0700 | INFORMATION_SCHEMA | N | N | MYTESTDB | | Views describing the contents of schemas in this database | | 1 | NULL | | NULL | | Wed, 25 Feb 2015 16:16:54 -0800 | PUBLIC | N | Y | MYTESTDB | PUBLIC | | | 1 | NULL | ROLE | NULL | | Tue, 17 Mar 2015 16:42:29 -0700 | MYSCHEMA | N | N | MYTESTDB | PUBLIC | | | 1 | Fri, 13 May 2016 17:25:32 -0700 | ROLE | MYBUDGET | +---------------------------------+--------------------+------------+------------+---------------+--------+-----------------------------------------------------------+---------+----------------+---------------------------------+-----------------+----------+