阿里云首页 云数据库 OceanBase

SQL 窗口

概述

进入 OceanBase 开发者中心(OceanBase Developer Center,ODC)的数据库管理页面后,在顶部导航栏单击 工作台 标签,在弹出下拉菜单中单击 SQL 窗口 以完成新建。

SQL 窗口中提供可编辑脚本的 SQL 编辑区域,显示运行结果的执行记录页签与结果页签,同时 SQL 窗口也支持运行 PL 语句。

SQL窗口

SQL 编辑区域

在 SQL 窗口的编辑区域可体验更多细节:

操作

说明

提供输入自动提示功能

在 SQL 编辑区编写脚本时提供输入自动提示功能以提升编辑 SQL 语句效率。

例如:权限账户进行 SQL 语句编辑时,支持自动补全表名功能(跨库查询支持补全表名)

标识关键字和智能识别代码

窗口中会对数据库的关键字进行不同颜色的标识并可智能识别代码。

右键单击编辑区 SELECT 语句中的表、视图和函数名称

右键单击编辑区 SELECT 语句中的表、视图和函数名称时将提供常见操作键,同时将鼠标放置在表的名称上会显示字段信息。

拖拽对象列表至 SQL 编辑区

在对象列表中可将目标对象直接拖拽至 SQL 编辑区中,以方便在语句中填充对象名。

支持特殊符号异常识别

SQL 窗口的编辑区支持特殊符号异常识别,异常符号会被黄色波浪下划线进行标识。

说明

  • ODC 中共享 Session,相同连接只有一个 Session。ODC Oracle 模式下自动提交默认设置为开,如需要手动提交事务,可在 会话属性 页面修改变量 autocommit 的值进行设置,详细操作请参见 会话管理

  • 事务手动提交模式下,需设置变量 ob_trx_idle_timeout 大于等于设置的 SQL 查询超时时间,否则一个事务内两个 SQL 之间的执行间隔超过 ob_trx_idle_timeout 设置的时间,连接会终止。同时需注意 ob_trx_idle_timeout 设置过大会导致该会话占用内存无法及时释放,需谨慎设置。

SQL 编辑区域

除编辑 SQL 语句时可体验上述细节,编辑区的工具栏中同时提供以下功能键:

功能

说明

运行

单击该按钮运行当前 SQL 窗口中所有的 SQL 语句。连接中有多个窗口且其他窗口中的语句在正在运行时,该按钮不可用。

运行当前语句

单击该按钮运行当前您选中的所有 SQL 语句或当前光标所在行的 SQL 语句。连接中有多个窗口且其他窗口中的语句在正在运行时,该按钮不可用。

提交

Oracle 模式下自动提交默认设置为关(OFF),所以您需要单击该按钮以手动提交当前事务。单击时会提示您当前连接采用共享 Session,提交操作会对所有窗口生效,单击 确认 后提交生效。MySQL 模式下自动提交默认设置为开(ON)将不展示该按钮。连接中有多个窗口且其他窗口中的语句在正在运行时,该按钮不可用。

回滚

Oracle 模式下自动提交默认设置为关(OFF),单击该按钮以回滚当前事务。单击时会提示您当前连接采用共享 Session,回滚操作会对所有窗口生效,单击 确认 后回滚生效。MySQL 模式下自动提交默认设置为开(ON)将不展示该按钮。连接中有多个窗口且其他窗口中的语句在正在运行时,该按钮不可用。

终止

单击该按钮终止正在运行的语句。

格式化

单击该按钮对选中的 SQL 语句或当前 SQL 窗口中的所有 SQL 语句进行统一的格式化(缩进、换行和高亮关键字等操作)。

查找/替换

在查找框内输入内容以对脚本进行检索,查找后可在替换框内输入内容以对查找内容进行替换。

撤销

将脚本回退到上一步操作执行的结果。

重做

执行 撤销 操作后,对脚本重新执行撤销前的操作。

大小写

提供 全部大写全部小写 首字母大写 三种效果,将您在脚本中选中的语句转换为对应形式。

缩进

提供 添加缩进删除缩进 两种效果,为您在脚本中选中的语句添加或删除包含的缩进。

注释

提供 添加注释删除注释 两种效果,将您在脚本中选中的语句转换为注释或转换为 SQL 语句。

IN 值转化

批量复制转化工具,适用于查询数据时对复制的行或列结果进行格式转化。
将批量数据粘贴在 SQL 编辑区后,选择复制的数据,单击 IN 值转化 按钮,即可转化成 in('A','B')格式。
  • 列值分隔符号为换行符。

  • 行值分隔符为空格或 TAB 值。

设置

  • Delimiter:在下拉列表中选择您想要的符号以完成界定符的设置。目前支持设置 ;///$$$ 等 5 种形式的界定符。

  • 查询结果限制:设置查询结果返回的条数,默认值为 1000 行。

保存

单击该按钮保存当前窗口中的脚本。之后您再次进入工作台可以直接打开保存好的脚本。每个用户只能看到自己保存的 SQL 脚本,且脚本名不允许重复。打开已保存的脚本后,您可以继续对该脚本进行编辑。

执行计划

查看选中的或当前光标所在的 SQL 语句在执行前系统预估的执行计划(EXPLAINPLAN 操作的结果),展示的执行数据可能与实际执行语句后的数据略有不同,您可以使用该功能评估 SQL 语句。

单击 执行计划 按钮,在 计划详情 页签中,单击 查看格式化信息 切换至格式化展示页面。

代码片段

提供内置语法片段和自定义语法片段供您查看和引用。详情请查看 代码片段

运行 PL 语句

SQL 窗口中支持编辑 PL 语句,在编辑区中编写 PL 语句完毕后使用选择的界定符作为结尾。

ODC 目前支持通过以下方式完成界定符的设置:

  • 在 SQL 编辑区的工具栏中单击 设置 按钮,在弹窗中的 Delimiter 选择框中选择所需设定的界定符。

  • 个人设置 页面中的 界定符设置 选择框中选择所需的界定符。

    注意

    • 自 ODC V2.4.1 之后版本,可在编辑区中使用 DELIMITER 语句直接定义界定符,设置 中的 Delimiter 项会回显所设置的界定符。

    • 可直接使用 / 分隔 PL 语句(如 PL 语句内包含 /,则仍需设置自定义界定符)。

在 SQL 中运行 PL 语句后,结果页签支持 DBMS 输出。

运行 PL 语句

执行记录页签

用户指南-SQL 窗口-执行结果页签

在执行记录页签中您可以查看当前连接进程中每次执行 SQL 语句的记录,包括 状态时间SQL 语句结果TRACE ID耗时 执行详情(即执行计划)等信息。

功能

说明

复选框

勾选列表前的复选框复选框后单击 删除,可批量选中并清理多条执行记录。

TRACE ID

执行记录 ID。
注意

如 TRACE ID 为空,请确保该语句运行时 enable_sql_audit 系统参数及 ob_enable_trace_log 变量值均为 ON。

  1. 单击 会话 > 会话属性 > 会话变量,分别搜索 enable_sql_audit 和 ob_enable_trace_log 参数;

  2. 单击值列表下的 OFF 后,单击 编辑 图标,选择 ON 值后确定。

  3. 打开系统参数:

    obclient> alter system set enable_sql_audit='True';
    Query OK, 0 rows affected (0.06 sec)

耗时

ODC 中 耗时 信息由三部分组成,分别为:

  • 网络耗时:请求在网络传输上所花费的时间。

  • ODC 耗时:请求经过 ODC 处理所花费的时间。

  • DB 耗时:请求经数据库处理所花费的时间。

可将鼠标箭头放置在 耗时 信息后的提示图标上,弹出的提示信息将分段展示目标请求的三段耗时信息。

执行详情

默认展示文本计划。

执行详情 项下,单击 查看,可在 执行详情 页面查看 基本信息、耗时统计、 I/O 统计 和执行的 SQL 语句。

日志页签

在该页签可查看当前 SQL 窗口的执行记录。

结果页签

在该页签可查看当前 SQL 语句的执行结果。结果页签中显示的结果集支持进行以下交互操作以方便日常开发工作:

操作

说明

鼠标选中目标范围

返回的结果集支持通过鼠标选中目标范围后直接通过快捷键复制至外部文件,可单击字段名称或行号直接选中整行或整列。

亦可通过工具栏中的 导出 工具将结果集中的数据导出到本地文件。

选择多行/多列

  • 按 Shift 键,可选择连续多行/多列;

  • 按 Ctrl/Command 键,可选择不连续的多行/多列。

右键单击单元格

提供 复制行/复制/输出到剪切板 功能键以直接将数据复制到外部文件中。

右键单击行序号

提供 复制行/冻结此行/解除全部冻结行 功能。

  • 复制行:复制选中的行;

  • 冻结此行:将选中行置顶并冻结,冻结行和表头固定下方内容可垂直滚动;支持冻结多行;

  • 解除全部冻结行:将所有冻结行恢复。

放大图标

当单元格中的数据过长导致无法全部显示时,可通过放大图标查看单元格中的全部数据:

  1. 将鼠标箭头放置在目标单元格上;

  2. 单击单元格右侧出现的放大图标放大按钮,在弹出的大字段展示弹窗中可查看单元格中的全部数据。

    说明

    如为大字段,默认按文本展示大字段内容,可切换至十六进制查看同时支持下载打字段内容至本地。

BLOB 大对象

支持查看 BLOB、CLOB、RAW 类数据。

右键单击结果页签的标签名 (如 结果1)

在弹出的列表中单击 固定 可使当前结果页签保持展示状态,当执行一条新的查询时当前结果不会被覆盖而是生成一个新的结果展示页签,以方便对比不同的查询结果。

单击 解除固定 以取消目标结果页签的固定状态。

筛选、排序和搜索按钮

结果集中每个字段名称后提供筛选、排序和搜索按钮,可对单列的数据直接进行筛选、排序和搜索。

拖动列名

支持在结果集中直接拖动列名以调整各字段的顺序。

执行结果页签

同时,结果页签的导航栏中提供以下工具:

工具

说明

列模式

以表格的形式展示一行选中的数据。在 列模式 页面可以进行上一行、下一行的切换展示,对于列数量比较多场景,列模式 比较方便行数据的查看。参考步骤如下:

  1. 选中需查看的数据后,单击 列模式列模式按钮 按钮;

  2. 在弹出的 列模式 页面中,可单击左右按钮查看上下行列值;

  3. 鼠标移动至某值字段,单击 放大按钮放大按钮,可查看该列字段详情;

  4. 列模式 列表中,可通过 备注 查看表中对应的列注释信息。修改备注信息步骤如下:

    1. 在左侧导航栏的表列表中,右键单击目标表,选择 查看表结构,进入表属性管理页签;

    2. 在属性页签的左导航栏中单击 标签;

    3. 选择字段名,单击编辑图标,弹出 编辑字段 弹窗;

    4. 字段注释 中,填写字段注释后,单击 确定

    5. SQL 确认 弹窗,单击 执行,完成修改备注信息;

    6. 列模式 中即会显示修改的备注信息。

列管理

筛选在页面中展示的列。

回到开始

跳转至第一页。

上一页

向上翻页。

下一页

向下翻页。

跳至底部

跳转至最后一页。

编辑

单击 编辑 按钮开启对当前展示的结果集的编辑状态,编辑态中提供 添加一行复制当前行删除取消确认修改(当自动提交设置为开时,单击该按钮事务被自动提交) 和 修改并提交(自动提交设置为关时显示该按钮) 等编辑操作。同时可在编辑态下双击目标数据直接进行修改,或是通过上述操作按钮进行快捷操作。

在编辑态中右键单元格,弹出的菜单中提供 复制设置为 Null 两个操作键。

说明

通过结果集是否支持编辑预判断功能,在 SQL 执行时获取到 ResultMetaData 信息,可在 SQL 执行结果出来时同步判断结果集是否可编辑:
  • 如当前结果集不支持编辑,编辑按钮隐藏,且提示当前结果集不可编辑;

  • 如当前结果集支持编辑,编辑按钮呈可点击态,可点击进入结果集编辑页面(支持编辑场景:单表/单视图查询)。

  • 目前不支持包含 SET 类型和 ENUM 类型的结果集编辑。

导出

将查询结果导出为 CSV 或 SQL 文件:

  • 导出 SQL 文件:选择导出的 文件名称文件格式文件编码GBKUTF8)和 行数限制

  • 导出 CSV 文件:选择导出的 文件名称文件格式文件编码GBKUTF8行数限制 CSV 设置

  • 导出 EXCEL 文件:选择导出的(GBKUTF8UTF16GB2312BIG5)。

计划

查看当前 SQL 语句执行后的实际资源消耗及执行计划,可快速判断 SQL 语句的优劣。