コマンドライン、GUI、スクリプト… あなたに合った方法で!MySQLデータベースへ複数のSQLファイルをインポートする方法
MySQLデータベースへ複数のSQLファイルを簡単にインポートする方法
コマンドラインツールを使う
MySQLには、mysql
コマンドラインツールが付属しており、これを使ってSQLファイルをインポートすることができます。この方法は、シンプルで使いやすいのが利点です。
mysql -u ユーザー名 -p パスワード -D データベース名 < ファイル名.sql
上記コマンドを実行するには、以下の点に注意する必要があります。
ファイル名.sql
は、インポートするSQLファイルのパスです。データベース名
は、インポート先のデータベース名です。ユーザー名
とパスワード
は、MySQLにアクセスするためのものです。
例:
mysql -u root -p testdb < data.sql
このコマンドは、data.sql
という名前のSQLファイルを、testdb
という名前のデータベースにインポートします。
GUIツールを使う
MySQLには、WorkbenchやHeidiSQLなどのGUIツールも用意されており、これらを使ってSQLファイルをインポートすることもできます。GUIツールを使うと、コマンドラインツールよりも直感的に操作できるのが利点です。
スクリプトを使う
PythonやPerlなどのスクリプト言語を使って、SQLファイルをインポートすることもできます。この方法は、柔軟性が高いのが利点ですが、プログラミング知識が必要となります。
複数のSQLファイルを連続してインポートする場合
上記のいずれの方法でも、複数のSQLファイルを連続してインポートすることができます。
- コマンドラインツールの場合は、以下のコマンドを実行します。
mysql -u ユーザー名 -p パスワード -D データベース名 < ファイル1.sql < ファイル2.sql < ファイル3.sql ...
- スクリプトの場合は、ループ処理を使って、各ファイルを順番にインポートするようにします。
- GUIツールの場合は、ツールによって操作方法が異なるので、ドキュメントを参照してください。
注意点
- 大量のデータをインポートする場合は、パフォーマンスに影響が出ないように、時間帯を工夫するなどしてください。
- インポートするSQLファイルが、インポート先のデータベースの構造と互換性があることを確認しておきましょう。
- インポートする前に、必ずバックアップを取っておきましょう。
- 詳細については、MySQLの公式ドキュメントを参照することをおすすめします。
- 上記以外にも、様々な方法でMySQLデータベースへSQLファイルをインポートすることができます。
mysql -u root -p testdb < data.sql
Pythonスクリプトを使う
import mysql.connector
# データベースへの接続
db = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="testdb"
)
# カーソルの取得
cursor = db.cursor()
# SQLファイルの読み込み
with open('data.sql', 'r') as f:
sql = f.read()
# SQLの実行
cursor.execute(sql)
# データベースのコミット
db.commit()
# カーソルのクローズ
cursor.close()
# データベースのクローズ
db.close()
#!/bin/bash
# データベース名
DB_NAME="testdb"
# SQLファイルのディレクトリ
SQL_DIR="/path/to/sql"
# データベースへの接続
mysql -u root -p $DB_NAME < /dev/null
# SQLファイルのインポート
for file in "$SQL_DIR"/*.sql; do
mysql -u root -p $DB_NAME < "$file"
done
注意事項
- 上記のコードはあくまで例であり、状況に合わせて変更する必要があります。
phpMyAdminは、Webブラウザ上でMySQLデータベースを管理できるツールです。phpMyAdminを使ってSQLファイルをインポートするには、以下の手順を実行します。
- phpMyAdminにログインします。
- インポートしたいデータベースを選択します。
- 「インポート」タブをクリックします。
- インポートするSQLファイルを選択します。
- 「実行」ボタンをクリックします。
Dockerを使う
Dockerは、コンテナ化技術を使ってソフトウェアを簡単に実行できるプラットフォームです。Dockerを使ってSQLファイルをインポートするには、以下の手順を実行します。
- MySQLコンテナを起動します。
- SQLファイルをコンテナ内にコピーします。
mysql
コマンドを使ってSQLファイルをインポートします。
docker run -it --name mysql -e MYSQL_ROOT_PASSWORD=password -d mysql:latest
docker cp data.sql mysql:/data/data.sql
docker exec -it mysql mysql -u root -p password testdb < /data/data.sql
クラウドサービスを使う
Amazon Relational Database Service (RDS)やGoogle Cloud SQLなどのクラウドサービスでは、Webブラウザ上でMySQLデータベースを管理できます。これらのサービスでは、通常、インポート機能が提供されているので、簡単にSQLファイルをインポートすることができます。
mysql import