はじめに
- 現状さまざまなDBクライアントツールが存在しますが、個人的にはこちらの"DBeaver"が一番使いやすいと感じました
- 基本的な使用方法などはネット上に情報が溢れておりますので、私の個人的な意見や使用方法などを中心に紹介できればと考えました
- DBクライアントツールとは?
- データベースの操作、管理を行うためのソフトウェアです
- データベース管理者や開発者がデータベースにアクセスしやすくなり、データベース管理の効率化を図ることができます
結論 - なぜおすすめ?
- 無料で十分な性能がある
- マルチプラットフォームであること
- 頻繁にアップデートされ続けている
- Eclipseと同じようなUIのため経験者であれば直感的に操作できる
- 書き込み権限やトランザクションを独自に設定ができる
- 例えばSQLでデータの書き込みを実行した際の結果画面で影響を及ぼしたレコード数が不自然であれば簡単にロールバックできます
- その他カスタマイズ性が高い
- 私は書き込み権限のあるものは見た目が危険色になるように設定しました
- ER図を確認できる
- ネットの情報が多い
導入
DBeaverのダウンロードはこちら
DBeaverの使い方
新しい接続
-
画面左上「新しい接続」をクリック
-
新しい接続タイプを選択する画面で(例)「MySQL」→「次へ(N)」をクリック
-
接続設定画面
- 「Server Host:」にエンドポイントを入力
- 「ユーザー名:」の欄にマスターユーザー名
- 「パスワード:」の欄にマスターパスワードを入力
- 「テスト接続」をクリック
- 「接続の詳細(名前、種類、...)」をクリック
-
一般画面
1.「接続名:」の欄に任意の名前を記入
- 例) {App name}_readonly
2.「接続タイプ:」の欄にドロップダウンメニューより任意のタイプ(名前、色)を選択
3.「説明:」の欄に任意のコメントを記入
- 私はソースコードのDB接続設定箇所のファイルパスなどを書いておりました
4.「セキュリティ」で読み取り専用の設定(DBクライアント側で書き込みを行わない場合)
5.「テスト接続(T)」→「終了」クリック
バックアップ(テーブルのコピー)
- 制約やデータの複製が期待通りに動かないことがございましたので、
私はSQLエディタを開き下記のSQLで実施しております
-- コピー元と同じ構造の空テーブルを作成
-- CREATE TABLE 新テーブル名 LIKE 元テーブル名;
CREATE TABLE shops_20230202 LIKE shops;
-- コピー元テーブルから新テーブルへデータをコピー
-- INSERT INTO 新テーブル名 SELECT * FROM 元テーブル名;
INSERT INTO shops_20230202 SELECT * FROM shops;
指定したカラムが使用されているテーブルを検索
- カラムの検索機能はないようでしたので私はこちらのクエリを実行しております
SELECT
table_name
FROM
INFORMATION_SCHEMA.COLUMNS
WHERE
column_name = '(例)is_test'
;
まとめ
- 元々別のDBクライアントツールを有料プラン(会社負担)で使用しておりましたが、上記の理由でDBeaverを無料で使用した方が間違いなく良いと感じました
- 現在使用しているDBクライアントツールに満足していない、もしくはどちらのDBクライアントツールを使用すれば良いか迷われている方の参考になれば幸いです!
余談
- 個人開発および以後の業務で特にDBクライアントツールの指定がございませんでしたら、DBeaverを使用し続ける予定なので、気になった箇所などがございましたらこちらの記事を更新します
- 少数のレコードの更新はSELECT文の結果画面から直接編集することはありますが、
私は基本的にエディタでSQLを実行しております - 何かバグや気になる点など発生した場合などはこちらからIssueを作成すれば良いかと存じます
こちらのページを度々参考にさせていただいております