マルチプラットフォームDB GUIクライアントBeekeeper Studioのご紹介

Posted by 雅楽斎 on Monday, June 8, 2020

TOC

マルチプラットフォームDBクライアントBeekeeper Studioのご紹介

The SQL Editor and Database Manager Of Your Dreams

Use Beekeeper Studio to query and manage your relational databases, like MySQL, Postgres, SQLite, and SQL Server.

MITライセンスで提供されるGUIのマルチプラットフォームDBクライアントであるBeekeeper Studioのご紹介です。

Beekeeper Studioとは

マルチプラットフォームで動作するGUIのデータベースクライアントです。MITライセンスなので、非営利目的や個人利用のみ利用が無料ということもありません。Electronを使うことでマルチプラットフォーム対応を可能にしているようです。

また、DBアクセス部分はsqlectron-coreを使用しているようです。

GitHub - sqlectron/sqlectron-core

Contribute to sqlectron/sqlectron-core development by creating an account on GitHub.

動作プラットフォーム

執筆時点の1.4.1では以下のプラットフォーム用のインストールイメージが提供されています。

  • macOS
  • Windows(インストーラー/ポータブル)
  • Linux(AppImage/deb/snap) 1

対応データベース

執筆時点の1.4.1では以下のデータベースへの対応が謳われています。

  • SQLite
  • MySQL
  • MariaDB
  • Postgres
  • SQL Server
  • Amazon Redshift

主な機能

サイトに挙げられている機能です。

  • SQLクエリのシンタックスハイライト付き自動補完
  • タブインタフェースによる複数同時実行
  • テーブルのソート、フィルタリングによるデータ発見
  • 気の利いたキーボードショートカット
  • 過去3日分のクエリ実行履歴の保存
  • デフォルトのダークテーマ

インストール

今回はdebパッケージのインストールで確認しました。他にAppImageとsnapでも提供されています。今回動作確認をしたOSはUbuntu MATE 20.04(amd64)です。

Releases · beekeeper-studio/beekeeper-studio

Modern and easy to use SQL client for MySQL, Postgres, SQLite, SQL Server, and more. Linux, MacOS, and Windows. - beekeeper-studio/beekeeper-studio

現時点ではaptからの導入はできないので、beekeeper-studio_1.4.1_amd64.debをダウンロードしてdpkgコマンドでインストールします。依存パッケージは以下です。

  • libgtk-3-0
  • libnotify4
  • libnss3
  • libxss1
  • libxtst6
  • xdg-utils
  • libatspi2.0-0
  • libuuid1
  • libappindicator3-1
  • libsecret-1-0

これらのパッケージがインストールされていない場合は事前にインストールする必要があります。Beekeeper Studioのインストール例は以下となります。

$ sudo dpkg -i Downloads/beekeeper-studio_1.4.1_amd64.deb

起動画面

メニューのプログラミングにBeekeeper Studioが登録されているので起動します。コマンドラインからは以下のように起動します。

$ beekeeper-studio 

起動画面

試しにローカルのSQLiteファイルを開きたいと思います。こちらのサイトから香川県の郵便番号データ2をダウンロードして開くことにします。

中央のQuick ConnectからSQLiteを選んで、表示されるDatabase FileChoose FileからSQLiteファイルを選択します。3

接続先DB選択

Connectを選んで、SQLiteファイルに接続します。

SQLiteファイル接続

クエリ実行画面

DB接続画面

左のペインにテーブル・ビュー、右ペインにクエリ入力画面が表示されました。左ペインのさらに左は★が保存済みクエリ、反時計回りアイコンが実行クエリの履歴になっています。

右のクエリ入力画面ではテーブル名入力、カラム名入力時に候補が補完入力できます。

クエリ補完

テーブル名の後にドットを打つと自動表示されるのと、Ctrl+Spaceでも候補が表示されるので、Eclipseを使い慣れている人は特に違和感なく高速にクエリを入力できるんじゃないかと思います。

実行結果表示

適当にクエリを打ち込んで実行(Runボタン押下orCtrl+Enter)すると結果が得られます。右下の実行結果は各カラムをクリックすることでソートが可能です。実行したクエリは反時計回りアイコンに保存されます。

クエリ履歴

残しておきたいクエリはSaveボタンを押すことで名前を付けて保存して、★アイコンに表示されるようになります。

クエリ保存

保存済みクエリ

クエリの実行結果は右下の保存ボタンでCSVで保存できます。

CSV出力ボタン

"id","zip","ken_name","city_name","town_name"
"760000000","760-0000","香川県","高松市","NULL"
"760000100","760-0001","香川県","高松市","新北町"
"760000200","760-0002","香川県","高松市","茜町"
"760000300","760-0003","香川県","高松市","西町"
"760000400","760-0004","香川県","高松市","西宝町"

その他

テーブル・ビューのフィルタリング・ピン留め

テーブルが複数あってよく使うものが決まっている場合など、テーブル名のフィルタリングやピン留めができます。ピン留めしたテーブルは上に表示されるので楽に作業ができるようになりますね。ただし、このピン留めは今の所アプリ終了で破棄されるため、起動時に毎回する必要があります。

テーブル名フィルタ前

テーブル名フィルタ

テーブルピン留め

空のSQLiteファイルの新規作成はできない(多分)

SQLiteを使う場合に限りますが、もともとSQLiteファイルがない場合の新規作成機能はないようなので、sqlite test.sqlite3等のコマンドで作成する必要があります。

まとめ

無償で複数のDBを扱えてマルチプラットフォームで動作するGUIクライアントはこれまでになかった気がするので、強力な補完、履歴機能を含めて唯一にして決定版なのではないかという予感がしています。

少しでも興味のある方はぜひ触っていただきたいソフトです。

スポンサーリンク


  1. おそらくamd64プラットフォームのみ [return]
  2. ファイルが小さいので… [return]
  3. 先の郵便番号データはzip圧縮されているので展開しておきます。 [return]

comments powered by Disqus