SQL ベースのツール
1. Beekeeper Studio
Beekeeper Studio は、SQL データベースへのクエリをシンプルかつ強力なインターフェースで実行できる、オープンソースの SQL エディター兼データベースマネージャーです。MySQL、PostgreSQL、SQLite など、複数のデータベースに対応しています。
クエリ例: 従業員データの取得
Beekeeper Studio を使って PostgreSQL データベースから従業員データを取得する方法は次のとおりです。
SELECT employee_id, first_name, last_name, department
FROM employees
WHERE department = 'Engineering'
ORDER BY last_name;
期待される出力:
| employee_id | first_name | last_name | department |
|---|---|---|---|
| 103 | Jane | Doe | Engineering |
| 105 | John | Smith | Engineering |
| 110 | Alice | Johnson | Engineering |
この SQL クエリは、employees テーブルから department が「Engineering」である従業員の詳細を選択し、last_name で並べ替えます。
2. DBeaver
DBeaver は、SQL と NoSQL を含む幅広いデータベースに対応した汎用データベース管理ツールです。オートコンプリート、シンタックスハイライト、実行履歴を備えた高機能な SQL エディターを提供しています。
クエリ例: 売上データの集計
DBeaver で MySQL データベースに接続すると、次のような集計関数を実行できます。
SELECT product_id, SUM(quantity) AS total_quantity, SUM(price * quantity) AS total_sales
FROM sales
GROUP BY product_id
ORDER BY total_sales DESC;
期待される出力:
| product_id | total_quantity | total_sales |
|---|---|---|
| P1001 | 500 | 7500.00 |
| P1005 | 320 | 6400.00 |
| P1003 | 250 | 5000.00 |
このクエリは売上データを product_id ごとに集計し、販売数量の合計と売上金額の合計を計算します。結果は total_sales の降順で並べ替えられます。
3. SQL Workbench/J
SQL Workbench/J は、ほとんどの SQL ベースのデータベースに対応した、無料のクロスプラットフォーム SQL クエリツールです。充実した SQL スクリプト編集機能、結果セットの操作、エクスポートオプションを備えています。
クエリ例: 製品情報の更新
SQL Workbench/J を使って PostgreSQL データベースのテーブルを更新する例です。
UPDATE products
SET price = price * 1.10
WHERE category = 'Electronics';
期待される出力:
Query OK, 5 rows affected
このクエリは UPDATE 文を使って products テーブルを変更し、「Electronics」カテゴリの商品の価格を 10% 引き上げます。
NoSQL クエリツール
1. MongoDB Compass
MongoDB Compass は MongoDB 用の GUI で、大量のコードを書かずにデータを探索・操作できます。MongoDB クエリのための視覚的な環境を提供します。
クエリ例: ドキュメントのフィルタリング
MongoDB Compass を使って customers コレクション内のドキュメントを検索します。
{
"age": { "$gt": 30 },
"subscription_status": "active"
}
期待される出力
[
{
"_id": "60b8d75d8e3f4a6c4e000001",
"name": "Alice Johnson",
"age": 35,
"subscription_status": "active"
},
{
"_id": "60b8d75d8e3f4a6c4e000002",
"name": "Bob Smith",
"age": 45,
"subscription_status": "active"
}
]
このクエリは、customers コレクションから age が 30 より大きく、subscription_status が「active」のドキュメントを絞り込みます。
2. Couchbase Query Workbench
Couchbase Query Workbench は、Couchbase のデータに対して N1QL(SQL ライク)クエリを実行するためのインターフェースを提供します。JSON ドキュメントを SQL のように扱えるよう設計されています。
クエリ例: ネストされたフィールドの選択
SELECT name, address.city
FROM customers
WHERE address.state = 'CA';
期待される出力:
| name | city |
|---|---|
| Alice Johnson | San Diego |
| Bob Smith | Los Angeles |
この N1QL クエリは、state が「CA」である customers ドキュメントから、name と address オブジェクト内のネストされた city フィールドを選択します。
API とクエリビルダー
1. GraphQL
GraphQL は、データを柔軟にリクエストするための API クエリ言語です。クライアントはサーバーに特定のフィールドだけを要求できます。
クエリ例: ネストされたデータの取得
{
employee(id: "103") {
firstName
lastName
department {
name
location
}
}
}
期待される出力:
{
"data": {
"employee": {
"firstName": "Jane",
"lastName": "Doe",
"department": {
"name": "Engineering",
"location": "New York"
}
}
}
}
この GraphQL クエリは、id: 103 の従業員について、特定のフィールド(firstName、lastName、department.name、department.location)を要求します。
2. ORM(オブジェクト関係マッパー)
Active Record(Ruby on Rails 用)、Sequelize(Node.js 用)、Django ORM(Python 用)などの ORM を使うと、生の SQL ではなくコードでデータベースにクエリを実行できます。アプリケーションにデータベースクエリを直接組み込む場合に便利です。
クエリ例: Node.js で Sequelize を使う
const employees = await Employee.findAll({
where: {
department: 'Engineering'
},
order: [['lastName', 'ASC']]
});
期待される出力:
「Engineering」部門の従業員を表す JavaScript オブジェクトの配列:
[
{ "employee_id": 103, "first_name": "Jane", "last_name": "Doe", "department": "Engineering" },
{ "employee_id": 105, "first_name": "John", "last_name": "Smith", "department": "Engineering" }
]
ORM は JavaScript コードを自動的に SQL クエリへ変換し、データベースから従業員データを取得して並べ替えます。
まとめ
データクエリツールは、データベースの種類(SQL か NoSQL か)やユーザーのニーズに応じて、それぞれ異なる目的を果たします。Beekeeper Studio、DBeaver、SQL Workbench/J などの SQL ベースのツールは、構造化データの扱いに優れています。MongoDB Compass や Couchbase Query Workbench などの NoSQL ツールは、非構造化データを柔軟にクエリできます。GraphQL のような API や ORM は、モダンなアプリケーションでデータベースをプログラムから操作する手段を提供します。
Beekeeper Studioは無料のオープンソースのデータベースGUIです
これまで使った中で最高のSQLクエリ&エディタツールです。データベースの管理に必要なものがすべて揃っています。 - ⭐⭐⭐⭐⭐ Mit
Beekeeper Studioは高速で直感的、そして使いやすいツールです。多数のデータベースに対応し、Windows、Mac、Linuxで快適に動作します。
Beekeeper Studio 利用者の声
「Beekeeper Studio で以前の SQL ワークフローを完全に置き換えました。高速で直感的で、データベース作業がまた楽しくなりました。」
「多くのデータベース GUI を試してきましたが、Beekeeper は機能とシンプルさのバランスが絶妙です。とにかくちゃんと動きます。」