MySQLのSQLファイルをコマンドラインからエクスポート・インポートする方法
MySQLのデータベース内のデータをSQLファイルとしてエクスポートしたり、SQLファイルからデータをインポートするには、コマンドラインで以下のコマンドを使用します。
エクスポート (Export)
mysqldump --user=your_username --password=your_password --database=your_database_name --result-file=your_dump_file.sql
- --user=your_username: MySQLユーザー名
- --password=your_password: MySQLパスワード
- --database=your_database_name: エクスポートしたいデータベース名
- --result-file=your_dump_file.sql: エクスポートしたデータを保存するSQLファイル名
オプション例:
- --no-data: データのみをスキップして、データベース構造のみをエクスポートします。
- --single-transaction: 1つのトランザクションでエクスポートを処理します。
- --lock-tables: エクスポート中にテーブルをロックします。
- --quick: バッファリングを使用して、エクスポートを高速化します。
インポート (Import)
mysql --user=your_username --password=your_password your_database_name < your_dump_file.sql
- your_database_name: インポート先のデータベース名
- < your_dump_file.sql: インポートするSQLファイル
- --force: 既存のテーブルが存在する場合でも、インポートを強制します。
- --no-create-info: テーブル作成文をスキップします。
- --skip-drop-table: テーブル削除文をスキップします。
注意:
- パスワードをコマンドラインに直接入力する場合はセキュリティリスクがあります。パスワードマネージャーや環境変数を使用することを推奨します。
- インポートするSQLファイルが大きな場合は、バッチ処理や分割してインポートすることを検討してください。
MySQLコマンドライン操作解説とSQLファイルのエクスポート・インポート
SQLファイルのエクスポート・インポート
エクスポート:
mysqldump --user=your_username --password=your_password --database=your_database_name --result-file=your_dump_file.sql
インポート:
mysql --user=your_username --password=your_password your_database_name < your_dump_file.sql
MySQLコマンドライン操作
データベース一覧:
mysql --user=your_username --password=your_password -e "show databases;"
テーブル一覧:
mysql --user=your_username --password=your_password your_database_name -e "show tables;"
データ表示:
mysql --user=your_username --password=your_password your_database_name your_table_name -e "select * from your_table_name;"
データ挿入:
mysql --user=your_username --password=your_password your_database_name your_table_name -e "insert into your_table_name (column1, column2) values ('value1', 'value2');"
データ更新:
mysql --user=your_username --password=your_password your_database_name your_table_name -e "update your_table_name set column1 = 'new_value' where column2 = 'condition';"
データ削除:
mysql --user=your_username --password=your_password your_database_name your_table_name -e "delete from your_table_name where column1 = 'condition';"
MySQLのSQLファイル操作: コマンドライン以外の方法
GUIツールを使用する
MySQLの管理を視覚的に行うためのGUIツールを使用することで、SQLファイルのエクスポート・インポートをより簡単に操作できます。一般的なGUIツールには以下があります:
- phpMyAdmin: WebベースのMySQL管理ツール。
- HeidiSQL: Windows用のフリーのMySQL管理ツール。
- MySQL Workbench: MySQLの公式GUIツール。
これらのツールを使用すると、マウス操作でデータベースやテーブルを操作し、SQLファイルのエクスポート・インポートを行うことができます。
プログラミング言語を使用する
プログラミング言語を使用して、MySQLデータベースに接続し、SQLファイルの操作を行うこともできます。Python、Java、PHPなどの言語には、MySQLのデータベース接続ライブラリが提供されています。
Pythonの例:
import mysql.connector
mydb = mysql.connector.connect(
host="your_host",
user="your_user",
password="your_password",
database="your_database"
)
mycursor = mydb.cursor ()
# SQLファイルからデータを読み込む
with open("your_dump_file.sql", "r") as f:
sql = f.read()
mycursor.execute(sql)
mydb.commit()
mycursor.close()
mydb.close()
Javaの例:
import java.sql.*;
public class MySQLExample {
public static void main(String[] args) {
try {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mysql:// your_host:3306/your_database",
"your_user",
"your_password"
);
Statement stmt = conn.createStatement();
// SQLファイルからデータを読み込む
String sql = "your_sql_statement";
stmt.execute(sql);
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
mysql command-line command-line-arguments