🧚 お知らせ!Beekeeper Studio は高速でモダンなオープンソースのデータベース GUI です ダウンロード
2024年10月21日 著者: Matthew Rathbone

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のLinux版は100%フル機能。手抜きも機能の妥協も一切ありません。

Beekeeper Studio 利用者の声

★★★★★
「Beekeeper Studio で以前の SQL ワークフローを完全に置き換えました。高速で直感的で、データベース作業がまた楽しくなりました。」
— Alex K.、データベース開発者
★★★★★
「多くのデータベース GUI を試してきましたが、Beekeeper は機能とシンプルさのバランスが絶妙です。とにかくちゃんと動きます。」
— Sarah M.、フルスタックエンジニア