使用 sqlpad 打造 SQL 查詢視覺化報表

sqlpad 是 Web Base 的 SQL 編輯器,可用於編寫和運行SQL查詢並可視化結果,通過 ODBC 支持 Postgres、MySQL、SQL Server、ClickHouse、Crate、Vertica、Trino、Presto、SAP HANA、Cassandra、Snowflake、Google BigQuery、SQLite 等。

開發環境

 

運行 sqlpad

docker run --volume /mnt/d/src/lab/sqlpad:/var/lib/sqlpad --name sqlpad -d -p 3000:3000 -e SQLPAD_ADMIN="yao@aa.bb" -e SQLPAD_ADMIN_PASSWORD="pass@w0rd1~" sqlpad/sqlpad:latest

 

支援多種資料庫

sqlpad/connections.md at master · sqlpad/sqlpad (github.com)

 

訪問 sqlpad

http://localhost:3000,使用管理員帳號登入,不過現在裡面沒有資料

 

利用 docker-compose 建立資料庫開發環境

為了更快速的建立環境,使用 docker-compose.yaml 定義了 SQL Server 和 sqlpad 的環境設定,路徑為 D:\src\lab\sqlpad\docker-compose.yaml

 

docker-compose.yaml 內容如下:

version: '3'
services:
  mssql:
    image: 'mcr.microsoft.com/mssql/server:2019-latest'
    hostname: 'sql2019'
    #name: 'sql2019'
    container_name: 'sql2019'
    ports:
      - 1433:1433
    environment:
      - ACCEPT_EULA=Y
      - MSSQL_SA_PASSWORD=pass@w0rd1~
      - MSSQL_PID=Express
  sqlpad:
    # To use Dockerfile at root of this project, use build instead of image
    # build: ../../
    image: sqlpad/sqlpad:latest
    hostname: 'sqlpad'
    #name: 'sqlpad' 
    container_name: 'sqlpad'
    ports:
      - '3000:3000'
    environment:
      SQLPAD_ADMIN: 'yao@aa.bb'
      SQLPAD_ADMIN_PASSWORD: 'pass@w0rd1~'
      SQLPAD_APP_LOG_LEVEL: info
      SQLPAD_WEB_LOG_LEVEL: warn
      SQLPAD_CONNECTIONS__sqlserverdemo__name: SQL Server Demo
      SQLPAD_CONNECTIONS__sqlserverdemo__driver: sqlserver
      SQLPAD_CONNECTIONS__sqlserverdemo__host: sql2019
      SQLPAD_CONNECTIONS__sqlserverdemo__database: master
      SQLPAD_CONNECTIONS__sqlserverdemo__username: sa
      SQLPAD_CONNECTIONS__sqlserverdemo__password: pass@w0rd1~
    volumes:
      - '/mnt/d/src/lab/sqlpad/data:/var/lib/sqlpad'
      #- '~/sqlpad/data:/var/lib/sqlpad'

 

切換目錄 

cd /mnt/d/src/lab/sqlpad

執行 docker-compose

docker-compose up

 

執行結果,如下圖:

 

觀察一下運行的結果

docker ps -a

 

結果如下圖:

 

登入後新增一個查詢

 

根據需求建立圖表,下圖出自 sqlpad/sqlpad

 

volume 對應到 host 的資料夾如下圖

 

更多的範例

 sqlpad/docker-examples at master · sqlpad/sqlpad (github.com)

sqlpad/kubernetes-examples at master · sqlpad/sqlpad (github.com)

 

設定

Configuration (sqlpad.github.io)

參考

SQLPad - Quick Start With Docker - DEV Community

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo