使用 SQL Runner 管理資料庫函式

SQL Runner 可讓您直接存取資料庫,並以各種方式使用存取權。您可以使用 SQL Runner 瀏覽結構定義中的資料表、從 SQL 查詢使用臨時探索、對資料執行預先撰寫的描述性查詢、查看 SQL Runner 記錄、下載結果、共用查詢、以衍生資料表的形式新增至 LookML 專案,以及執行其他實用工作。

本頁面說明如何使用 SQL Runner 修改資料庫結構定義和資料使用 EXAMINE 陳述式查看查詢的資料庫執行計畫,以及如何使用 SQL Runner 取得資料庫的相關資訊。如要瞭解下列資訊,請參閱其他說明文件頁面:

修改資料庫結構定義和資料

除了在資料庫上執行查詢,您還可以在 SQL Runner 的「資料庫」分頁中,對資料庫執行資料定義語言 (DDL) 和資料操縱語言 (DML) 陳述式。您可以使用 SQL Runner 進行結構定義變更 (例如建立、捨棄及變更),以及資料變更 (例如插入、更新及刪除)。SQL 方言對 DDL 和 DML 陳述式的支援程度不一,因此請參閱資料庫的說明文件,瞭解支援哪些陳述式。

如要在 SQL Runner 中對資料庫執行 DDL 或 DML 陳述式,請按照下列步驟操作:

  1. 前往 SQL Runner
  2. 在 SQL Runner 中,按一下「資料庫」分頁標籤。
  3. 在 SQL Runner 的「Query」(查詢) 方塊中輸入 DDL 或 DML 陳述式。(如要瞭解 DDL 和 DML 陳述式的支援和語法,請參閱資料庫方言的說明文件)。
  4. 按一下「Run」,即可在資料庫中執行陳述式。

如果陳述式在資料庫中順利執行,SQL「結果」方塊會顯示確認訊息。

使用 EXPLAIN 檢查執行計畫

除了對資料庫執行 SQL 查詢,您也可以使用 SQL Runner 對查詢執行 EXPLAIN 函式。大多數 SQL 方言都支援 EXPLAIN 函式,可傳回查詢的資料庫執行計畫。

  1. 在「探索」中執行查詢,然後按一下「資料」區域的「SQL」分頁標籤,即可查看查詢的 SQL 指令。
  2. 在「SQL」分頁中,按一下「在 SQL Runner 中說明」按鈕。

    Looker 會開啟 SQL Runner,並在 EXPLAIN 函式中載入查詢。

  3. 在 SQL Runner 中,點選「執行」來執行 EXPLAIN 函式。

  4. 查看 EXPLAIN 函式的輸出內容。

EXPLAIN 回覆的確切資訊和格式取決於特定方言,因此請參閱方言的說明文件瞭解詳情。

在上述 MySQL 範例中,EXPLAIN 函式會傳回資料庫為完成查詢而執行的步驟清單。如果查詢執行速度緩慢,這項功能或許能派上用場,因為您可能會發現資料庫在查詢中掃描整個資料表,但或許資料表可以使用索引來提升效能。

如需在 SQL Runner 中使用 EXPLAIN 最佳化 SQL 的逐步範例,請參閱「How to Optimize SQL with EXPLAIN 」社群貼文。

取得資料庫相關資訊

SQL Runner 的「資料庫」分頁提供多種工具,可協助您深入瞭解資料庫。

取得資料庫連線資訊

在 SQL Runner 中選擇連線時,Looker 會在「SQL QUERY」橫幅右側顯示該連線的資料庫方言。如果您選擇「在 SQL Runner 中開啟」或「在 SQL Runner 中說明」,系統會預先選取適當的連線,並顯示連線的資料庫方言。

按一下連線齒輪選單,即可取得資料庫連線的更多選項:

  • 選取「顯示程序」選項,即可顯示目前在連線上執行的查詢和程序相關資訊。
  • 選取「Refresh Schemas & Tables」(重新整理結構定義和資料表) 選項,重新在 SQL Runner 左側導覽窗格中填入資料庫的結構定義和資料表。

BigQuery 齒輪選單選項

如果您選擇支援多個資料庫的 BigQuery 連線,Looker 會在齒輪選單中顯示特定方言的選項。選單項目會根據所選選項,在「顯示可用專案」和「搜尋公開專案」之間切換。

  • 選取「Refresh Schemas & Tables」(重新整理結構定義和資料表),在 SQL Runner 左側導覽窗格中重新填入資料庫中的結構定義和資料表。
  • 顯示可用專案時,齒輪選單選項會顯示「搜尋公開專案」。選取這個選項,即可搜尋資訊架構中未顯示的公開資料集。
  • 顯示公開專案時,齒輪選單選項會顯示「Show available projects」(顯示可用專案)。選取這個選項,即可在 SQL Runner 左側導覽窗格中,將顯示內容還原為連線專屬的 BigQuery 專案和資料表。

搜尋資料庫

SQL Runner 會在所選「結構定義」 (或「資料集」,適用於 Google BigQuery 連線) 下方顯示搜尋方塊。

SQL Runner 搜尋功能會瀏覽所有包含搜尋方塊中字串的資料表和資料表資料欄名稱。在下圖中,「airport_name」是資料欄,「airport_remarks」是資料表。

按一下其中一個搜尋結果,即可前往 SQL Runner 中的該項目。

取得資料表資訊

根據預設,當您選取連線和結構定義時,SQL Runner 會預先載入所有資料表資訊。如果連線包含許多資料表或非常大的資料表,管理員可以取消選取「連線」頁面中的「SQL Runner Precache」選項,停用這項行為。

您可以使用 SQL Runner 左側的導覽面板,瀏覽連線中的結構定義和資料表。選取連線和結構定義,即可查看該結構定義中的所有資料表。按一下資料表名稱,即可查看該資料表中的欄位。

SQL Runner 預先撰寫了一些查詢,可協助您瞭解資料。如要使用這些查詢,請按一下資料表或資料表欄名稱旁的齒輪,然後選取要執行的查詢。Looker 會在「SQL 查詢」部分自動產生 SQL,並執行查詢。

可用的查詢會因資料庫方言而異。

資料表資訊

按一下資料表名稱旁的齒輪圖示,Looker 會顯示下列選項:

  • 探索資料表:開啟新的瀏覽器分頁,顯示資料表的 Looker 探索
  • 說明:顯示基礎資料表中的資料欄名稱和資料類型。
  • 顯示索引:顯示資料表的索引方式相關資訊。
  • 選取 10:傳回表格中前十列的查詢。這樣就能瞭解資料的實際樣貌。
  • Count:傳回簡單的 count(*) 查詢,取得資料表的總列數。

資料欄資訊

按一下資料表名稱,即可查看資料表中的資料欄。點選資料欄名稱旁的齒輪圖示時,Looker 會顯示下列選項:

  • 最常見的值:傳回該資料表資料欄中最常見的值,以及該值在資料欄中出現的次數。
  • 不重複值的約略數:顯示資料欄中不重複值的約略數。

取得資料欄資料類型資訊

您可以按照下列步驟,使用 SQL Runner 取得資料欄資料類型資訊:

  1. 在 SQL Runner 中,從「連線」下拉式選單選取資料庫連線。
  2. 從「結構定義」下拉式選單中選取結構定義。(如果是 BigQuery 連線,請選取「專案」和「資料集」)。
  3. SQL Runner 會顯示資料庫中該結構定義的資料表清單。按一下表格,即可查看該表格中的資料欄。
  4. 每個資料欄名稱都有代表資料類型的圖示。將游標懸停在資料欄名稱上,即可查看該資料欄中的資料類型。

編輯預先建構的 SQL 查詢

您可以在「查詢」區域編輯任何 SQL 查詢,包括從資料表和欄位齒輪選單選擇的預設 SQL 查詢。

舉例來說,您可以使用 SQL Runner 的「Count」(計數) 查詢,載入資料庫的基本計數指令,然後編輯 SQL 查詢。因此,如果您認為 public.users 資料表中的 id 欄可能是主鍵,可以編輯計數查詢,驗證沒有重複值,如下所示:

SELECT id ,COUNT(*)
FROM public.users
GROUP BY 1
ORDER BY 2 DESC
LIMIT 10

由於查詢會先依計數排序,再將結果限制為 10 列,因此結果會包含計數值最高的項目。如果這項查詢為每個 id 值傳回的計數都是 1,則 id 很可能就是這個資料表中的主鍵。不過,這項查詢只會在查詢執行階段指定資料表中的資料列。由於日後插入資料庫的資料可能會導致 id 不符合主鍵資格,建議您在資料庫中實作限制,確保主鍵是唯一的。