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所示。
| 参数 | 说明 |
|---|---|
| --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