私が愛用しているDBクライアントツールはDataGripです。
最近はデータを触る仕事が多いので使用頻度が上がりました。使えば使うほど、この製品が好きになっていきます。今回はDagaGripの魅力の紹介になります。
ちょっと前までのDagaGripの評価
少し前まではAPI開発の案件をすることが多く、その時からDBクライアントとしてDataGripを使用していました。
その頃はデータの出し入れの結果やテーブルのスキーマをちょっと見られればいいので、DBクライアントは何でもいいやって感じでした。JetbrainsのAll Prodcutsライセンスがあるのだから、せっかくならDataGripを使おうって感じで使っていました。
しかし、今の案件はDBクライアントの使用比率が高いです。日によっては、エディタや他のIDEより使用時間が長いこともあります。
それだけ長いこと使って、はじめてこの製品、実はすごい良かったと言うことに気がつきました。
DataGripのすごいところ
はじめに断っておきますが、私は他のDBクライアントはほとんど使ったことがありません。今回、紹介することの多くは他のDBクライアントにもある機能だと思います。
ビジュアル
Jetbrains系なのでテーマは選び放題、ビジュアル系のプラグインを入れることができます。
私は他のIDE同様、 Atom Material Icons と Materal Theme UIを入れて、Atom One Darkを使っています。
これでモチベーションUPです!!
エディタの補完が秀逸すぎる
DataGripはエディタの補完が秀逸すぎます。これに慣れると、もう他のエディタではSQLを書きたくなくなります。
SELECTなどの予約後のタブ補完はもちろん、テーブルやカラムの候補がガンガン出てくるので、スラスラSQLを書くことができます。
またライブテンプレートというものがあって、例えば selw と入力するだけで、SELECT * FROM WHERE のSQLが生成されます。これもよく使っています。
独自のライブテンプレートも作れるみたいです。私はまだオリジナルのは作ったことありませんが、クセの強いSQLを多用するようになったら便利だろうなと思っています。
大文字<-->小文字の変換が楽
SQLなので大文字、小文字の変換をやりたくなるのは日常茶飯事です。
JetbrainsはCommand+Shift+Uで大文字、小文字の変換が簡単にできます。
ありがたいです。VSCodeではトグルでなく片方向の変換しかできないので、Jetbrainsのこういう細かい使いやすさは嬉しいです。
エディタの拡大/縮小がやりやすくて便利
JetbrainsはCommand+ホイールで、エディタのみの拡大ができます。私はエクスプローラーのフォントサイズはそのままで、エディタ部分だけフォントを変えたいと思うことがあるので、この機能は重宝しています。
設定画面で、Editor > General で、 「Change font size with Command+Mouse Wheel in:」にチェックを入れればできるようになります。
VSCodeとかだと、フォント拡大すればサイドのパネルまで拡大されて使いづらいんですよね・・・
また、データ中心の仕事をするようになって、SQLエディタ部分を画面越しに同僚で見せることも多くなりました。そういうときにも、この機能は役立っています。
ダイヤグラムの生成
昔は
というフローが一般的でしたが、今は
というフローが一般的です。なので、DBクライアントもダイヤグラム生成機能は必須と言えるでしょう。
DataGripにもあります。
下図はJetbrains公式にある画像です。
生成されたダイアグラムはAltでピンポイントの拡大ができるので使い勝手がいいです。Control(Commandではない)+ホイールで全体の拡大/縮小ができます。
クエリー結果がツリー形式でみれる
DataGripはクエリー結果を、テーブル形式の他にツリー形式でも見れます。
このツリー形式というのが、NDJSONのような形で表示され、各カラムの値を縦方向で見ることができます。最近は、あえて正規化しないテーブルも増えてきてカラム数が多い横に長いテーブルが多くなってきます。
横スクロールでデータを見ていくのは大変なので、この縦方向に見られる機能は大変役立ちます。また行追加作業も横でなく縦でできるので重宝します。
このNDJSONでクエリー結果を見ることができないDBクライアントはもう使いたくないです。

クエリー結果がクリップボードにコピーできる
DataGripはクエリー結果を選択操作することなく、簡単にクリップボードにコピーできます。カラムヘッダーを含む、含まないも自由自在です。
データの仕事をするようになって、クエリー結果をslackやテキストファイルに張ったりすることが多くなったので、この機能は個人的には必須になりました。
まとめ
以上、DataGrip愛を語る記事でした。
個人的には最後の2つ、クエリー結果を縦方向で扱えるのとクリップボードへのコピー機能が、重宝しています。
他のDBクライアントにこの機能があるのかどうかはわかりませんが、もしないならDataGripを使うことをやめることはできないと思います。
