サンプルコード:MySQL コマンドラインから単一クエリを実行する
コマンドラインから MySQL で単一クエリを実行する方法
このチュートリアルでは、UNIX コマンドラインを使用して MySQL データベースに接続し、単一クエリを実行する方法を説明します。
前提条件
- MySQL サーバーがインストールおよび実行されている
- コマンドラインインターフェースへのアクセス
- 基本的な SQL 構文の知識
手順
-
MySQL コマンドラインクライアントを起動する
MySQL コマンドラインクライアントを起動するには、次のコマンドを使用します。
mysql -u username -p
上記のコマンドで、以下のことを置き換えます。
username
: MySQL ユーザー名password
: MySQL ユーザーパスワード
パスワードを入力すると、プロンプトが表示されます。
-
データベースを選択する
特定のデータベースで作業するには、次のコマンドを使用します。
USE database_name;
上記のコマンドで、
database_name
を使用するデータベースの名前に置き換えます。 -
クエリを実行する
SQL クエリを実行するには、次の構文を使用します。
SELECT * FROM table_name;
table_name
: クエリを実行するテーブル名*
: テーブルのすべての列を選択するにはワイルドカードを使用します。特定の列を選択するには、列名をカンマ区切りで指定します。
Enter キーを押すと、クエリが実行され、結果が表示されます。
-
EXIT;
例
以下の例では、employees
テーブルのすべてのレコードを選択して表示する方法を示します。
mysql -u root -p
USE mydatabase;
SELECT * FROM employees;
EXIT;
-
結果をファイルに保存するには、
>
リダイレクト演算子を使用します。SELECT * FROM employees > employees.csv;
#!/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"
このスクリプトをどのように使用するのか
-
以下のコマンドを使用してスクリプトを実行します。
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
コマンドの -e
オプションを使用すると、コマンドラインで直接 SQL クエリを実行できます。
mysql -u username -p -e "SELECT * FROM employees;"
シェルスクリプティングを使用する
GUI ツールを使用する
MySQL Workbench や HeidiSQL などの GUI ツールを使用して、MySQL データベースに接続してクエリを実行することもできます。
最適な方法を選択する
使用する方法は、ニーズと好みによって異なります。
- シンプルで高速な方法が必要な場合 は、
mysql
コマンドの-e
オプションを使用するのが最適です。 - スクリプトを使用してタスクを自動化したい場合 は、シェルスクリプティングを使用します。
- 使いやすいグラフィカル インターフェースが必要な場合 は、GUI ツールを使用します。
sql mysql unix