SQL 查询以查找 Snowflake 帐户中可用的表数(包括所有数据库和模式)

SQL Query to find number of tables available in Snowflake account(including all DB and schemas)

SQL 查询以获取 Snowflake 帐户中可用表的总数(包括所有数据库和模式)

您可以查询 account_usage.tables 或 information_schema.tables 视图以查找表总数:

select count(*) from information_schema.tables;

https://docs.snowflake.com/en/sql-reference/info-schema/tables.html

select count(*) from snowflake.account_usage.tables;

https://docs.snowflake.com/en/sql-reference/account-usage/tables.html

三种方式:

  1. 您可以查询视图 INFORMATION_SCHEMA.TABLES 以查找当前数据库的所有 table。所以:你必须为你的每个数据库写一个 SELECT COUNT(*) FROM [database].INFORMATION_SCHEMA.TABLES,之后做一个 UNION ALL 并且每个数据库 SUM() 你的结果以获得全部 table 的总数数据库。

  2. 您可以查询视图 ACCOUNT_USAGE.TABLES 以查找您帐户的所有 table 和视图。一行代表一个table。由于 ACCOUNT_USAGE.TABLES 还包含视图,因此您必须为属性 TABLE_TYPE 添加 WHERE-Klause。在这里你还必须记住,你可能会有 90 分钟的延迟。

  3. 运行 SHOW TABLES IN ACCOUNT; 查看所有 tables

关于 INFORMATION_SCHEMA.TABLES 的更多信息:https://docs.snowflake.com/en/sql-reference/info-schema/tables.html

关于 ACCOUNT_USAGE.TABLES 的更多信息:https://docs.snowflake.com/en/sql-reference/account-usage/tables.html

关于 SHOW TABLES 的更多信息:https://docs.snowflake.com/en/sql-reference/sql/show-tables.html

注意:对于所有三种方式,您只能看到您当前角色具有访问权限的对象。