使用 sfsql – 已过时

本主题介绍如何使用 sfsql,包括客户端不支持的本机 Henplus 命令的列表。

备注

一些 Snowflake SQL 命令是通过 sfsql 使用的 JDBC 驱动程序实现的,例如 PUT/GET 用于将文件上传到内部暂存区以及从内部暂存区下载文件。因此,这些操作可以在 sfsql 中执行,但不能在 Snowflake Web 界面中执行。

本主题内容:

设置参数

HenPlus 提供控制会话行为的属性;但是, 应在 sfsql 中设置这些属性。请改用 Snowflake 提供的 会话参数

此外, HenPlus 还提供以下可在所有会话中设置的全局属性(注销会话时会保存属性设置)。您可以使用以下全局属性来控制 SQL 语句结果的格式和外观:

  • 若要查看全局参数列表及其当前值,请在命令行中键入 set-property

    属性

    初始值

    描述

    column-delimiter

    |

    指定用于分隔/设置显示中列的格式的字符。

    comments-remove

    off(或 false)

    目前未使用。

    echo-commands

    off(或 false)

    指定是否在执行语句之前显示该语句。

    sql-result-limit

    1000000000

    指定语句结果中返回的最大行数。

    sql-result-showfooter

    on(或 true)

    指定是否在结果中包括页脚行。

    sql-result-showheader

    on(或 true)

    指定是否在结果中包括页眉行(包括列标题)。

  • 若要设置全局参数,请键入 set-property,后跟参数名称和值。

    例如,要禁用结果中的页眉和页脚,请执行以下操作:

    user1@xy12345.snowflakecomputing.cn> set-property sql-result-showfooter false
    user1@xy12345.snowflakecomputing.cn> set-property sql-result-showheader false
    
    Copy

    请注意,您不需要键入任何结束字符,例如分号(;),即可设置全局属性。

执行 SQL 语句和脚本文件

要执行 SQL 查询或语句,请执行以下操作:

  • 在紧接语句末尾的位置键入分号(;)。

  • 如果在语句后输入新行,则必须键入两个分号(;;)才能执行该语句。

  • 在新行上,还可以键入正斜杠(/),这是用于结束语句的命令。

例如,任何语法都可用于执行以下查询:

user1@xy12345.snowflakecomputing.cn> select * from test1;


user1@xy12345.snowflakecomputing.cn> select * from test1
                                      ;;

user1@xy12345.snowflakecomputing.cn> select * from test1
                                      /
Copy

若要执行 SQL 脚本文件,请使用 @@@,后跟文件的目录路径和全名(包括文件扩展名,如果有)。

例如,要执行位于 /Users/user1/scripts 目录中的名为 query.sql 的文件:

user1@xy12345.snowflakecomputing.cn> @/Users/user1/scripts/query.sql
Copy

备注

HenPlus 还允许使用 start 命令执行文件;但是,您不能在 sfsql 中使用此命令来执行文件,因为 Snowflake 保留了用于启动事务的 START 关键字。有关更多信息,请参阅 事务

取消正在进行的查询

若要取消尚未完成的查询,请使用 [CTRL]-c 键盘组合。

后台处理结果

若要后台处理 SQL 查询或命令的结果,请键入 spool,后跟要后台处理结果的文件的目录路径和名称。

要停止后台处理结果,请键入 spool off

访问 Snowflake 命令行帮助

Snowflake 提供命令行帮助主题。若要访问帮助,请使用以下语法:

info [ <topic> | <subtopic> ]
Copy
  • 如果未指定任何值,则显示帮助中的所有顶级主题。

  • 如果指定了主题,则显示该主题的所有子主题。

  • 如果指定了子主题,则显示该子主题的内容。

例如:

info;

info warehouses;

info alter_warehouse;
Copy

不支持的 HenPlus 命令

HenPlus 提供用于执行任务的本机命令,例如描述对象和从系统导入/导出数据。 应在 sfsql 中使用这些命令。相反,请使用 Snowflake 提供的 SQL 命令:

不支持的 HenPlus 命令:

等效的 Snowflake SQL 命令:

tablesviews 和其他相关命令

SHOW <objects>

describeidescribe

DESCRIBE * <object>*

importimport-check 和其他相关命令

COPY INTO <table>COPY INTO <location>

dump-outdump-in 和其他相关命令

PUTGET

语言: 中文