MySQL Workbenchを使ってデータベースをCSVファイルにダンプする方法
MySQLデータベースをコマンドラインからCSVファイルにダンプする方法
必要なもの
- MySQLサーバー
- コマンドラインツール
手順
コマンドラインを開き、次のコマンドを実行してMySQLサーバーに接続します。
mysql -u <ユーザー名> -p<パスワード>
<ユーザー名>
と <パスワード>
を実際のユーザー名とパスワードに置き換えます。
- データベースを選択する
次のコマンドを実行して、ダンプしたいデータベースを選択します。
USE <データベース名>;
<データベース名>
を実際のデータベース名に置き換えます。
- テーブルをCSVファイルにダンプする
次のコマンドを実行して、テーブルをCSVファイルにダンプします。
SELECT * FROM <テーブル名> INTO OUTFILE '/path/to/file.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
/path/to/file.csv
をCSVファイルの保存場所とファイル名に置き換えます。FIELDS TERMINATED BY ','
は、CSVファイルのフィールド区切り文字をカンマに設定します。
例
次の例は、mydb
データベースの users
テーブルを /tmp/users.csv
ファイルにダンプする方法を示しています。
mysql -u root -p
USE mydb;
SELECT * FROM users INTO OUTFILE '/tmp/users.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
その他のオプション
- 特定の列のみをダンプするには、
SELECT
ステートメントで列名を指定します。 - WHERE 句を使用して、特定の条件に一致するデータのみをダンプできます。
- ORDER BY 句を使用して、ダンプするデータの順序を指定できます。
注意
- CSVファイルはプレーンテキストファイルなので、安全な場所に保存してください。
- CSVファイルは、ExcelやGoogle Sheetsなどのスプレッドシートアプリケーションで開くことができます。
#!/bin/bash
# データベース接続情報
DB_HOST="localhost"
DB_PORT="3306"
DB_USER="root"
DB_PASSWORD="password"
DB_NAME="mydb"
# ダンプするテーブル名
TABLE_NAME="users"
# 出力ファイル名
OUTPUT_FILE="/tmp/users.csv"
# MySQLサーバーに接続
mysql -h $DB_HOST -P $DB_PORT -u $DB_USER -p$DB_PASSWORD << EOF
# データベースを選択
USE $DB_NAME;
# テーブルをCSVファイルにダンプ
SELECT * FROM $TABLE_NAME INTO OUTFILE '$OUTPUT_FILE'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
EOF
echo "ダンプが完了しました。"
- 環境変数にデータベース接続情報とダンプするテーブル名、出力ファイル名を設定します。
SELECT * FROM
ステートメントを使用して、テーブルデータをCSV形式で取得します。INTO OUTFILE
オプションを使用して、CSVデータを指定された出力ファイルに書き込みます。- ダンプが完了したことを表示します。
使用方法
- このコードを
dump_mysql_to_csv.sh
という名前のファイルに保存します。 - ファイルのパーミッションを変更して実行可能にします。
chmod +x dump_mysql_to_csv.sh
- ファイルを実行します。
./dump_mysql_to_csv.sh
出力ファイル /tmp/users.csv
は、次の形式になります。
"id","name","email","created_at","updated_at"
1,"John Doe","[email protected]","2023-01-01 00:00:00","2023-01-01 00:00:00"
2,"Jane Doe","[email protected]","2023-02-01 00:00:00","2023-02-01 00:00:00"
- このコードはサンプルコードです。必要に応じて変更してください。
- このコードを実行する前に、データベースがバックアップされていることを確認してください。
MySQLデータベースをCSVファイルにダンプするその他の方法
MySQL Workbenchは、MySQLデータベースを管理するためのGUIツールです。MySQL Workbenchを使用してデータベースをCSVファイルにダンプするには、次の手順を実行します。
- MySQL Workbenchを開き、データベースに接続します。
- ダンプしたいデータベースを選択して右クリックし、**「データエクスポート」**を選択します。
- 「フォーマット」 で 「CSV」 を選択し、「ファイル名」 を指定します。
- 「オプション」 で必要に応じて設定を変更します。
- 「開始」 をクリックして、ダンプを実行します。
- Navicatを開き、データベースに接続します。
PHPMyAdminは、WebブラウザからMySQLデータベースを管理できるツールです。PHPMyAdminを使用してデータベースをCSVファイルにダンプするには、次の手順を実行します。
- WebブラウザでPHPMyAdminを開き、データベースにログインします。
- 「形式」 で 「CSV」 を選択し、「オプション」 で必要に応じて設定を変更します。
mysqldumpコマンド
コマンドラインからmysqldumpコマンドを使用してデータベースをCSVファイルにダンプすることもできます。mysqldumpコマンドを使用するには、次のコマンドを実行します。
mysqldump -u <ユーザー名> -p<パスワード> <データベース名> <テーブル名> > /path/to/file.csv
その他のツール
他にも、MySQLデータベースをCSVファイルにダンプできるツールはたくさんあります。自分に合ったツールを選択してください。
mysql command-line csv