コマンドラインでMySQLに接続してクエリを実行する方法

2024-04-27

コマンドラインから MySQL で単一クエリを実行する方法

このチュートリアルでは、UNIX コマンドラインを使用して MySQL データベースに接続し、単一クエリを実行する方法を説明します。

前提条件

  • MySQL サーバーがインストールおよび実行されている
  • コマンドラインインターフェースへのアクセス
  • 基本的な SQL 構文の知識

手順

  1. MySQL コマンドラインクライアントを起動するには、次のコマンドを使用します。

    mysql -u username -p
    

    上記のコマンドで、以下のことを置き換えます。

    • username: MySQL ユーザー名
    • password: MySQL ユーザーパスワード

    パスワードを入力すると、プロンプトが表示されます。

  2. データベースを選択する

    特定のデータベースで作業するには、次のコマンドを使用します。

    USE database_name;
    

    上記のコマンドで、database_name を使用するデータベースの名前に置き換えます。

  3. クエリを実行する

    SQL クエリを実行するには、次の構文を使用します。

    SELECT * FROM table_name;
    
    • table_name: クエリを実行するテーブル名
    • *: テーブルのすべての列を選択するにはワイルドカードを使用します。特定の列を選択するには、列名をカンマ区切りで指定します。

    Enter キーを押すと、クエリが実行され、結果が表示されます。

以下の例では、employees テーブルのすべてのレコードを選択して表示する方法を示します。

mysql -u root -p
USE mydatabase;
SELECT * FROM employees;
EXIT;

補足

  • 結果をファイルに保存するには、> リダイレクト演算子を使用します。

    SELECT * FROM employees > employees.csv;
    



サンプルコード:MySQL コマンドラインから単一クエリを実行する

#!/bin/bash

# MySQL ユーザー名とパスワードを設定
USERNAME="root"
PASSWORD="password"

# データベース名を設定
DATABASE="mydb"

# CSV ファイル名を設定
OUTPUT_FILE="employees.csv"

# MySQL コマンドラインクライアントを起動
mysql -u $USERNAME -p $DATABASE << EOF
  -- クエリを実行
  SELECT * FROM employees;
  
  -- 結果を CSV ファイルに保存
  INTO OUTFILE '$OUTPUT_FILE'
    FIELDS TERMINATED BY ','
    ENCLOSED BY '"'
    LINES TERMINATED BY '\n';
EOF

# 成功メッセージを表示
echo "Employees data saved to $OUTPUT_FILE"

このスクリプトをどのように使用するのか

  1. 以下のコマンドを使用してスクリプトを実行します。

    sh employees_to_csv.sh
    
    • employees_to_csv.sh: スクリプトの名前

このスクリプトについて

  • このスクリプトは、bash シェルスクリプティングを使用して、MySQL コマンドラインクライアントを自動化する方法を示しています。
  • スクリプトは、-u オプションと -p オプションを使用して、MySQL ユーザー名とパスワードを指定します。
  • スクリプトは、USE ステートメントを使用して、作業するデータベースを選択します。
  • スクリプトは、SELECT * FROM employees; ステートメントを使用して、employees テーブルのすべてのレコードを選択します。
  • スクリプトは、INTO OUTFILE 句を使用して、クエリ結果を CSV ファイルに保存します。
  • スクリプトは、FIELDS TERMINATED BY ','ENCLOSED BY '"'、および LINES TERMINATED BY '\n' オプションを使用して、CSV ファイルのフォーマットを指定します。
  • このスクリプトは、基本的な例であり、ニーズに合わせてカスタマイズできます。
  • セキュリティ上の理由から、スクリプトにパスワードをハードコーディングすることは避けてください。代わりに、環境変数またはパスワードファイルを
    使用することを検討してください。



コマンドラインから MySQL で単一クエリを実行するその他の方法

mysql コマンドの -e オプションを使用すると、コマンドラインで直接 SQL クエリを実行できます。

mysql -u username -p -e "SELECT * FROM employees;"

シェルスクリプティングを使用して、MySQL コマンドラインクライアントを自動化できます。前述のサンプルコードは、この方法の例です。

GUI ツールを使用する

MySQL Workbench や HeidiSQL などの GUI ツールを使用して、MySQL データベースに接続してクエリを実行することもできます。

最適な方法を選択する

使用する方法は、ニーズと好みによって異なります。

  • シンプルで高速な方法が必要な場合 は、mysql コマンドの -e オプションを使用するのが最適です。
  • スクリプトを使用してタスクを自動化したい場合 は、シェルスクリプティングを使用します。
  • 使いやすいグラフィカル インターフェースが必要な場合 は、GUI ツールを使用します。

sql mysql unix


MySQLでテーブルから最新のNレコードを残して全てのレコードを削除する方法

問題の理解テーブルにはたくさんのレコードがあります。最新のNレコードを残したい。それ以外のレコードは全て削除したい。解決策この問題を解決するには、DELETEとORDER BYを組み合わせたSQLクエリを使用します。クエリ例クエリ解説DELETE FROM テーブル名: 削除したいテーブルを指定します。...


MySQL 外部キー制約とカスケード削除:サンプルコードと解説

本記事では、MySQLにおける外部キー制約とカスケード削除について、詳細な解説を行います。具体的な構文例、動作の仕組み、注意点などを分かりやすく説明していきますので、ぜひ参考にしてください。外部キー制約は、あるテーブル(子テーブル)の列を、別のテーブル(親テーブル)の列を参照するように設定することで、両テーブル間の関連性を定義するものです。これにより、子テーブルのデータが常に親テーブルの有効なデータを参照していることを保証します。...


SHOW CREATE TABLEコマンドでDDLを取得

データベース管理システム (DBMS) において、既存のテーブル構造を理解することは、データ操作や分析を行う上で非常に重要です。SQL言語には、テーブルの列名、データ型、制約条件などを詳細に記述した構造情報を取得するためのコマンドが用意されています。...


MySQL、SQL、MariaDBにおけるSELECTにおけるアスタリスク(*)の使用とその他の列の排除

MySQL、SQL、MariaDBなどのデータベース言語において、SELECT句でアスタリスク()を使用すると、そのテーブルのすべての列を選択できます。しかし、このアスタリスク()の使用は、明示的に列を指定した場合と比べていくつかの利点と欠点があります。...


絵文字をデータベースに格納する際のトラブルシューティング

必要な準備MySQL 5.5.3以降絵文字に対応したクライアントソフトウェア手順データベースの文字コード設定を変更するMySQLサーバーの設定ファイル my. cnf に以下の設定を追加します。設定ファイルを保存したら、MySQLサーバーを再起動します。...


SQL SQL SQL SQL Amazon で見る



コマンドライン、GUI、環境設定ファイル… あなたに合ったMySQLユーザー名・パスワードの探し方

方法 1: コマンドラインを使用するターミナルまたはコマンドプロンプトを開きます。次のコマンドを実行して、MySQL サーバーに接続します。root はデフォルトのユーザー名です。パスワードが設定されていない場合は、Enter キーを押します。