OceanBase SQL窗口

2021-06-04 15:19 更新

進(jìn)入 OceanBase 開發(fā)者中心(OceanBase Developer Center,ODC)的數(shù)據(jù)庫(kù)管理頁(yè)面后,單擊上方導(dǎo)航欄中的 工作臺(tái) 標(biāo)簽,在彈出下拉菜單中您可以選擇單擊 SQL 窗口 來(lái)新建 SQL 窗口。

SQL 窗口中提供了對(duì)腳本進(jìn)行編輯的 SQL 編輯區(qū)域和執(zhí)行記錄頁(yè)簽與結(jié)果頁(yè)簽。

OceanBase-SQL窗口

SQL 編輯區(qū)域

在 SQL 窗口的編輯區(qū)域您可以體驗(yàn)到較多的細(xì)節(jié)。

  • 窗口中會(huì)對(duì)數(shù)據(jù)庫(kù)的關(guān)鍵字進(jìn)行不同顏色的標(biāo)識(shí)。

  • 右鍵編輯區(qū) SELECT 語(yǔ)句中的表、視圖和函數(shù)名稱時(shí)將提供一些常見操作鍵,同時(shí)將鼠標(biāo)放置在表的名稱上會(huì)顯示字段信息。

  • 在對(duì)象列表中可將目標(biāo)對(duì)象直接拖拽至 SQL 編輯區(qū)中,以方便您在語(yǔ)句中填充對(duì)象名。

  • 在 SQL 編輯區(qū)編寫腳本時(shí)有輸入自動(dòng)提示功能以提升您編輯 SQL 語(yǔ)句的效率。

  • SQL 窗口中也支持編輯 PL 語(yǔ)句,首先需要在工具欄的 設(shè)置 中選擇 Delimiter 以完成界定符的設(shè)置,然后在編輯區(qū)中編寫 PL 語(yǔ)句,PL 語(yǔ)句編寫完畢后使用選擇的界定符作為結(jié)尾。ODC V2.4.1 版本后,您也可以在編輯區(qū)中使用 DELIMITER 語(yǔ)句直接定義界定符,設(shè)置 中的 Delimiter 項(xiàng)會(huì)回顯您設(shè)置的界定符。

說(shuō)明 
  • ODC 中共享 Session,相同連接只有一個(gè) Session。ODC V2.3.2 后在 Oracle 模式下自動(dòng)提交默認(rèn)設(shè)置為關(guān),所以您需要手動(dòng)提交事務(wù)。您可以在 會(huì)話屬性 頁(yè)面修改變量 autocommit 的值進(jìn)行設(shè)置,詳細(xì)操作請(qǐng)參見會(huì)話管理。
  • 事務(wù)手動(dòng)提交模式下,需要設(shè)置變量 ob_trx_idle_timeout 大于等于設(shè)置的 SQL 查詢超時(shí)時(shí)間,否則一個(gè)事務(wù)內(nèi)兩個(gè) SQL 之間的執(zhí)行間隔超過 ob_trx_idle_timeout 設(shè)置的時(shí)間,連接會(huì)終止。同時(shí)需要注意 ob_trx_idle_timeout 設(shè)置過大會(huì)導(dǎo)致該會(huì)話占用內(nèi)存無(wú)法及時(shí)釋放,需謹(jǐn)慎設(shè)置。

除了編輯 SQL 語(yǔ)句時(shí)可以體驗(yàn)到上述細(xì)節(jié),編輯區(qū)的工具欄中還提供了以下功能鍵:

功能

說(shuō)明

運(yùn)行

單擊該按鈕運(yùn)行當(dāng)前 SQL 窗口中所有的 SQL 語(yǔ)句。連接中有多個(gè)窗口且其他窗口中的語(yǔ)句在正在運(yùn)行時(shí),該按鈕不可用。

運(yùn)行當(dāng)前語(yǔ)句

單擊該按鈕運(yùn)行當(dāng)前您選中的所有 SQL 語(yǔ)句或當(dāng)前光標(biāo)所在行的 SQL 語(yǔ)句。連接中有多個(gè)窗口且其他窗口中的語(yǔ)句在正在運(yùn)行時(shí),該按鈕不可用。

提交

Oracle 模式下自動(dòng)提交默認(rèn)設(shè)置為關(guān)(OFF),所以您需要單擊該按鈕以手動(dòng)提交當(dāng)前事務(wù)。單擊時(shí)會(huì)提示您當(dāng)前連接采用共享 Session,提交操作會(huì)對(duì)所有窗口生效,單擊 確認(rèn) 后提交生效。MySQL 模式下自動(dòng)提交默認(rèn)設(shè)置為開(ON)將不展示該按鈕。連接中有多個(gè)窗口且其他窗口中的語(yǔ)句在正在運(yùn)行時(shí),該按鈕不可用。

回滾

Oracle 模式下自動(dòng)提交默認(rèn)設(shè)置為關(guān)(OFF),單擊該按鈕以回滾當(dāng)前事務(wù)。單擊時(shí)會(huì)提示您當(dāng)前連接采用共享 Session,回滾操作會(huì)對(duì)所有窗口生效,單擊 確認(rèn) 后回滾生效。MySQL 模式下自動(dòng)提交默認(rèn)設(shè)置為開(ON)將不展示該按鈕。連接中有多個(gè)窗口且其他窗口中的語(yǔ)句在正在運(yùn)行時(shí),該按鈕不可用。

終止

單擊該按鈕終止正在運(yùn)行的語(yǔ)句。

格式化

單擊該按鈕對(duì)選中的 SQL 語(yǔ)句或當(dāng)前 SQL 窗口中的所有 SQL 語(yǔ)句進(jìn)行統(tǒng)一的格式化(縮進(jìn)、換行和高亮關(guān)鍵字等操作)。

查找/替換

在查找框內(nèi)輸入內(nèi)容以對(duì)腳本進(jìn)行檢索,查找后可在替換框內(nèi)輸入內(nèi)容以對(duì)查找內(nèi)容進(jìn)行替換。

撤銷

將腳本回退到上一步操作執(zhí)行的結(jié)果。

重做

執(zhí)行 撤銷 操作后,對(duì)腳本重新執(zhí)行撤銷前的操作。

大小寫

提供 全部大寫、全部小寫 和 首字母大寫 三種效果,將您在腳本中選中的語(yǔ)句轉(zhuǎn)換為對(duì)應(yīng)形式。

縮進(jìn)

提供 添加縮進(jìn) 和 刪除縮進(jìn) 兩種效果,為您在腳本中選中的語(yǔ)句添加或刪除包含的縮進(jìn)。

注釋

提供 添加注釋 和 刪除注釋 兩種效果,將您在腳本中選中的語(yǔ)句轉(zhuǎn)換為注釋或轉(zhuǎn)換為 SQL 語(yǔ)句。

設(shè)置

  • Delimiter:在下拉列表中選擇您想要的符號(hào)以完成界定符的設(shè)置。目前支持設(shè)置 ;、/、//、$ 和 $$ 等 5 種形式的界定符。

  • 查詢結(jié)果限制:設(shè)置查詢結(jié)果返回的條數(shù),默認(rèn)值為 1000 行。

保存

單擊該按鈕保存當(dāng)前窗口中的腳本。之后您再次進(jìn)入工作臺(tái)可以直接打開保存好的腳本。每個(gè)用戶只能看到自己保存的 SQL 腳本,且腳本名不允許重復(fù)。打開已保存的腳本后,您可以繼續(xù)對(duì)該腳本進(jìn)行編輯。

計(jì)劃

查看選中的或當(dāng)前光標(biāo)所在的 SQL 語(yǔ)句在執(zhí)行前系統(tǒng)預(yù)估的執(zhí)行計(jì)劃(EXPLAINPLAN 操作的結(jié)果),展示的執(zhí)行數(shù)據(jù)可能與實(shí)際執(zhí)行語(yǔ)句后的數(shù)據(jù)略有不用,您可以使用該功能評(píng)估 SQL 語(yǔ)句。

代碼片段

提供內(nèi)置語(yǔ)法片段和自定義語(yǔ)法片段供您查看和引用。詳情請(qǐng)查看代碼片段。

執(zhí)行記錄頁(yè)簽

在執(zhí)行記錄頁(yè)簽中您可以查看當(dāng)前連接進(jìn)程中每次執(zhí)行 SQL 語(yǔ)句的記錄,包括 狀態(tài)、時(shí)間、SQL 語(yǔ)句結(jié)果、耗時(shí) 和 執(zhí)行詳情(即執(zhí)行計(jì)劃)等信息。

結(jié)果頁(yè)簽

您可以在該頁(yè)簽查看當(dāng)前 SQL 語(yǔ)句的執(zhí)行結(jié)果。返回的結(jié)果集支持通過鼠標(biāo)選中目標(biāo)范圍后直接復(fù)制至外部文件,或者您也可以通過工具欄中的 導(dǎo)出數(shù)據(jù) 工具將結(jié)果集中的數(shù)據(jù)導(dǎo)出到本地文件。當(dāng)單元格中的數(shù)據(jù)過長(zhǎng)導(dǎo)致無(wú)法全部顯示時(shí),您可以將鼠標(biāo)箭頭放置在目標(biāo)單元格上來(lái)預(yù)覽單元格中的全部數(shù)據(jù)。

右鍵結(jié)果頁(yè)簽的標(biāo)簽名,在彈出的列表中單擊 固定 可讓當(dāng)前結(jié)果頁(yè)簽保持展示狀態(tài),當(dāng)執(zhí)行一條新的查詢時(shí)當(dāng)前結(jié)果不會(huì)被覆蓋而是生成一個(gè)新的結(jié)果展示頁(yè)簽,這樣您可以方便地對(duì)比不同的查詢結(jié)果。單擊 解除固定 以取消目標(biāo)結(jié)果頁(yè)簽的固定狀態(tài)。

結(jié)果頁(yè)簽的導(dǎo)航欄中還提供了以下工具:

工具

說(shuō)明

列模式

以表格的形式展示一行選中的數(shù)據(jù)。在 列模式 頁(yè)面可以進(jìn)行上一行、下一行的切換展示,對(duì)于列數(shù)量比較多場(chǎng)景,列模式 比較方便行數(shù)據(jù)的查看。

列管理

篩選在頁(yè)面中展示的列。

回到開始

跳轉(zhuǎn)至第一頁(yè)。

上一頁(yè)

向上翻頁(yè)。

下一頁(yè)

向下翻頁(yè)。

跳至底部

跳轉(zhuǎn)至最后一頁(yè)。

編輯

單擊 編輯 按鈕開啟對(duì)當(dāng)前展示的結(jié)果集的編輯狀態(tài),編輯態(tài)中提供 添加一行復(fù)制當(dāng)前行、刪除取消、確認(rèn)修改(當(dāng)自動(dòng)提交設(shè)置為開時(shí),單擊該按鈕事務(wù)被自動(dòng)提交) 和 修改并提交(自動(dòng)提交設(shè)置為關(guān)時(shí)顯示該按鈕) 等編輯操作。您也可以在編輯態(tài)下雙擊目標(biāo)數(shù)據(jù)直接進(jìn)行修改,或是通過上述操作按鈕進(jìn)行快捷操作。

導(dǎo)出

將查詢結(jié)果導(dǎo)出為 CSV 或 SQL 文件,您需要選擇導(dǎo)出的 文件類型字符集gbk 或 utf8)和 行數(shù)限制 等信息。結(jié)果集最多導(dǎo)出 10000 行數(shù)據(jù)。

執(zhí)行計(jì)劃

查看當(dāng)前 SQL 語(yǔ)句執(zhí)行后的實(shí)際資源消耗及執(zhí)行計(jì)劃,可快速判斷 SQL 語(yǔ)句的優(yōu)劣。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)