SQL 语句执行
在连接数据库执行完 SQL 语句之后,需要主动关闭会话,避免出现资源泄露、连接限制用尽等问题
接口URL
/api/v1/dms/sqleditor/statement
请求方式
POST
Content-Type
application/json
认证方式
Bearer auth
请求Body参数
{
"clusterID": "tidb-f91e1f860d360502",
"database": "test",
"sessionID": "dd832b71-2bcf-4da2-af51-699afb3ac945",
"sql": "SELECT * FROM regions;",
"userID": "haibo"
}
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
clusterID | - | String | 是 | - |
database | - | String | 是 | - |
sessionID | - | String | 是 | 会话 ID,可以通过调用“创建数据库会话”接口获取 |
sql | - | String | 是 | - |
userID | - | String | 是 | - |
source | - | Integer | 是 | TEM 后端处理逻辑相关,默认填0或者不填即可 |
成功响应示例
{
"Data": {
"statementResults": [
{
"ResultID": "stmt-3478642343338540",
"clusterID": "tidb-f91e1f860d360502",
"execPlan": {
"columns": [
{
"name": "id",
"dataType": "CHAR",
"nullable": true
},
{
"name": "estRows",
"dataType": "CHAR",
"nullable": true
},
{
"name": "task",
"dataType": "CHAR",
"nullable": true
},
{
"name": "access object",
"dataType": "CHAR",
"nullable": true
},
{
"name": "operator info",
"dataType": "CHAR",
"nullable": true
}
],
"rows": [
[
"TableReader_5",
"5.00",
"root",
"",
"data:TableFullScan_4"
],
[
"└─TableFullScan_4",
"5.00",
"cop[tikv]",
"table:regions",
"keep order:false, stats:pseudo"
]
],
"matrix": true,
"msg": "",
"summary": "Query OK!"
},
"execInfo": {
"startTime": "2023-09-21T15:17:48.625398691+08:00",
"endTime": "2023-09-21T15:17:48.62738171+08:00",
"executeTime": "0.002 s",
"query": "SELECT * FROM regions;",
"limit": 1000,
"rowCount": 5
},
"resultSet": {
"code": 0, // 0 表示成功,非 0 表示失败(比如下面 msg )
"columns": [
{
"name": "region_id",
"dataType": "INT",
"nullable": false
},
{
"name": "region_name",
"dataType": "VARCHAR",
"nullable": true
}
],
"rows": [
[
"1",
"欧洲"
],
[
"2",
"美洲"
],
[
"3",
"亚洲"
],
[
"4",
"中东和非洲"
],
[
"5",
"澳洲"
]
],
"matrix": true,
"msg": "",
"summary": "Query OK!"
},
"database": "test",
"userID": "haibo"
}
]
},
"Success": true
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
code | - | String | |
data.statementResults | - | Array | |
data.statementResults.clusterID | - | String | 结果集 ID |
data.statementResults.database | - | String | 所在数据库 |
data.statementResults.execInfo.endTime | - | String | 执行结束时间 |
data.statementResults.execInfo.executeTime | - | String | 执行耗时 |
data.statementResults.execInfo.limit | - | Integer | |
data.statementResults.execInfo.query | - | String | 执行语句 |
data.statementResults.execInfo.rowCount | - | Integer | 返回行数 |
data.statementResults.execInfo.startTime | - | String | 执行开始时间 |
data.statementResults.execPlan.columns | - | Array | |
data.statementResults.execPlan.columns.dataType | VARCHAR(100) | String | 结果列类型 |
data.statementResults.execPlan.columns.name | - | String | 结果列名 |
data.statementResults.execPlan.columns.nullable | - | Boolean | |
data.statementResults.execPlan.matrix | - | Boolean | 是否存在执行计划 |
data.statementResults.execPlan.msg | - | String | 若无执行计划,输出日志 |
data.statementResults.execPlan.rows | - | Array | |
data.statementResults.execPlan.rows.0 | - | Array | |
data.statementResults.execPlan.summary | query failed/Duration 10ms | String | |
data.statementResults.resultID | - | String | |
data.statementResults.resultSet.columns | - | Array | |
data.statementResults.resultSet.columns.dataType | VARCHAR(100) | String | |
data.statementResults.resultSet.columns.name | - | String | |
data.statementResults.resultSet.columns.nullable | - | Boolean | |
data.statementResults.resultSet.code | 0 | Integer | 0 表示成功,非 0 表示失败(比如下面 msg 的 1064) |
data.statementResults.resultSet.matrix | - | Boolean | |
data.statementResults.resultSet.msg | - | String | |
data.statementResults.resultSet.rows | - | Array | |
data.statementResults.resultSet.rows.0 | - | Array | |
data.statementResults.resultSet.summary | query failed/Duration 10ms | String | |
data.statementResults.userID | - | String | |
message | - | String | |
success | - | Boolean |