SHOW DATABASES¶
列出您在整个账户中拥有访问权限的数据库,包括仍在 Time Travel 保留期内因此可以取消删除的已删除数据库。
该输出返回数据库元数据和属性,根据数据库名称按字典顺序排序。如果您希望使用提供的筛选器筛选结果,请务必注意这一点。
小技巧
您还可以使用 Snowflake REST APIs 来执行此操作。有关信息,请参阅 列出数据库(REST 端点参考)。
- 另请参阅:
CREATE DATABASE、ALTER DATABASE、DESCRIBE DATABASE、DROP DATABASE、UNDROP DATABASE
DATABASES 视图 (Information Schema)
语法¶
SHOW [ TERSE ] DATABASES [ HISTORY ] [ LIKE '<pattern>' ]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> [ FROM '<name_string>' ] ]
[ WITH PRIVILEGES <object_privilege> [ , <object_privilege> [ , ... ] ] ]
参数¶
TERSE
(可选)返回仅包含以下列的输出:
created_on
name
kind
database_name
schema_name
请注意,
kind
、database_name
和schema_name
始终显示NULL
,因为这些列不适用于数据库。默认:无值(所有列都包含在输出中)
HISTORY
(可选)包括尚未清除的已删除数据库(即它们仍在各自的 Time Travel 保留期内)。如果已删除数据库存在多个版本,则输出将显示每个版本的一行。输出还包括其他
dropped_on
列,其中显示:日期和时间戳(对于已删除的数据库)。
:samp:`NULL`(对于活动数据库)。
默认值:无值(输出中 不 包括已删除的数据库)
LIKE 'pattern'
(可选)按对象名称筛选命令输出。筛选器使用 不区分大小写 的模式匹配,并支持 SQL 通配符(
%
和_
)。例如,以下模式返回 相同的 结果:
... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
. 默认:无值(不对输出应用筛选)。
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'
将返回结果(如果有任何行与输入字符串匹配)。
WITH PRIVILEGES object_privilege [ , object_privilege [ , ... ] ]
可选地将行限制为以下对象:其当前用户的 活动角色 已被授予对该对象的列表中的所有指定权限。
如果权限列表中包含 CREATE <object> 权限,则该命令将排除已授予次要角色权限的对象。这是因为只有主要角色有权创建对象。有关更多信息,请参阅 具有主要角色和次要角色的执行模型。
使用说明¶
该命令不需要正在运行的仓库即可执行。
LIMIT rows
的值不能超过10000
。如果省略LIMIT rows
,若结果集大于 1 万行,则该命令将导致错误。要查看存在超过 1 万条记录的结果,请在 Snowflake Information Schema 中包含
LIMIT rows
或查询相应的视图。
若要对此命令的输出进行后处理,可以使用 RESULT_SCAN 函数,该函数会将输出视为可查询的表。
HISTORY
和WITH PRIVILEGES
参数是互斥的,它们不能在同一语句中使用。
示例¶
显示您有权在账户中查看的所有数据库:
SHOW DATABASES;
+---------------------------------+-----------+------------+------------+--------+--------+---------+---------+----------------+----------+----------+-----------------+
| created_on | name | is_default | is_current | origin | owner | comment | options | retention_time | kind | budget | owner_role_type |
|---------------------------------+-----------+------------+------------+--------+--------+---------+---------+----------------+----------+----------| |
| Tue, 17 Mar 2015 16:57:04 -0700 | MYTESTDB | N | Y | | PUBLIC | | | 1 | STANDARD | NULL | ROLE |
| Wed, 25 Feb 2015 17:30:04 -0800 | SALES1 | N | N | | PUBLIC | | | 1 | STANDARD | NULL | ROLE |
| Fri, 13 Feb 2015 19:21:49 -0800 | DEMO1 | N | N | | PUBLIC | | | 1 | STANDARD | MYBUDGET | ROLE |
+---------------------------------+-----------+------------+------------+--------+--------+---------+---------+----------------+----------+----------+-----------------+
显示您有权在系统中查看的所有数据库,包括已删除的数据库(此示例基于“DROP DATABASE”示例构建):
SHOW DATABASES HISTORY;
+---------------------------------+-----------+------------+------------+--------+--------+---------+---------+----------------+---------------------------------+----------+----------+-----------------+
| created_on | name | is_default | is_current | origin | owner | comment | options | retention_time | dropped_on | kind | budget | owner_role_type |
|---------------------------------+-----------+------------+------------+--------+--------+---------+---------+----------------+---------------------------------|----------+----------|-----------------|
| Tue, 17 Mar 2015 16:57:04 -0700 | MYTESTDB | N | Y | | PUBLIC | | | 1 | [NULL] | STANDARD | NULL | ROLE |
| Wed, 25 Feb 2015 17:30:04 -0800 | SALES1 | N | N | | PUBLIC | | | 1 | [NULL] | STANDARD | NULL | ROLE |
| Fri, 13 Feb 2015 19:21:49 -0800 | DEMO1 | N | N | | PUBLIC | | | 1 | [NULL] | STANDARD | MYBUDGET | ROLE |
| Wed, 25 Feb 2015 16:16:54 -0800 | MYTESTDB2 | N | N | | PUBLIC | | | 1 | Fri, 13 May 2016 17:35:09 -0700 | STANDARD | NULL | ROLE |
+---------------------------------+-----------+------------+------------+--------+--------+---------+---------+----------------+---------------------------------+----------+----------+-----------------+
显示您对其拥有 USAGE 和 MODIFY 权限的所有数据库:
SHOW DATABASES WITH PRIVILEGES USAGE, MODIFY;
+-------------------------------+-----------------------------------------------------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-------------------+--------------+-----------------+
| created_on | name | is_default | is_current | origin | owner | comment | options | retention_time | kind | budget | owner_role_type |
|-------------------------------+-----------------------------------------------------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-------------------+--------------+-----------------|
| 2023-01-27 14:33:11.417 -0800 | BOOKS_DB | N | N | | DATA_ADMIN | | | 1 | STANDARD | NULL | ROLE |
| 2023-09-15 15:22:51.111 -0700 | TEST_DB | N | N | | ACCOUNTADMIN | | | 4 | STANDARD | TEST_BUDGET | ROLE |
| 2023-08-18 13:33:01.024 -0700 | SNOWFLAKE | N | N | SNOWFLAKE.ACCOUNT_USAGE | | | | 0 | APPLICATION | NULL | |
+-------------------------------+-----------------------------------------------------------+------------+------------+-----------------------------------------------------------+--------------+---------+---------+----------------+-------------------+--------------+-----------------+