更新时间:2026-11-03 GMT+08:00
分享

SQL执行

SQL执行是hwc-dws-cli的核心能力之一,支持AI Agent和开发者通过命令行直接向DWS集群提交SQL语句。默认以JSON结构化格式输出结果,便于AI Agent解析;同时支持table、csv等易读格式,满足人工查看需求。

安全模型: SQL执行默认只读(DQL),写操作(DML/DDL)需显式追加 --write,危险操作(DROP/TRUNCATE等)需追加 --write --confirm-dangerous,确保AI Agent不会意外修改或删除数据。

SQL执行命令参数说明如表1所示。

表1 SQL执行参数

参数

说明

--exec <SQL>

待执行SQL语句(与 --file 二选一)。

--file <path>

执行SQL文件(与 --exec 二选一)。

--param <v>

SQL参数,可重复指定(参数化查询)。

--dry-run

仅生成执行计划(EXPLAIN VERBOSE),不实际执行。

支持 DQL / DML / DDL / DCL / TCL 全类型 SQL,高危操作/写操作需要单独指定参数。

# 执行查询(默认 JSON Envelope 输出)
hwc-dws-cli sql --exec "SELECT current_database()" --format table  

# 执行 SQL 文件
hwc-dws-cli sql --file script.sql  

# 参数化查询(--param 可重复)
hwc-dws-cli sql --exec "SELECT * FROM t WHERE id = $1 AND name = $2" --param 1 --param "alice" 

# EXPLAIN VERBOSE 仅生成执行计划,不实际执行
hwc-dws-cli sql --exec "DELETE FROM t WHERE id=1" --dry-run  

# 写操作(需 --write)
hwc-dws-cli sql --exec "INSERT INTO t VALUES (1)" --write  

# 危险操作(需 --write --confirm-dangerous)
hwc-dws-cli sql --exec "DROP TABLE t" --write --confirm-dangerous

相关文档