MySQLのテーブル定義とデータをエクスポート(出力)とインポート(入力)するサンプルです。
(確認環境:Windows 10,XAMPP)
目次
サンプル | MySQLからエクスポートする(mysqldump) |
MySQLにインポートする(mysql) |
MySQLからエクスポートする(mysqldump)
mysqldump -u ユーザ名 -p [-h ホスト名] [--port ポート番号] データベース名 [テーブル名] [-t]> ファイル名 |
- MySQLのテーブル定義とデータをローカルにテキストファイルで出力します。
- コマンドプロンプト上でmysqlにログインしていない状態で実行します。
- テーブル名を省略した場合はデータベース単位で出力されます。
- -tを指定した場合はデータのみ出力されます。
- mysqldumpコマンドを実行後、パスワードを入力します。
- 既にファイルがある場合は上書きされます。
- 以下は、MySQLのmysqldumpのリンクです。オプションは他にも多数あります。
https://dev.mysql.com/doc/refman/5.6/ja/mysqldump.html
実行例
mysqldump.exeがあるフォルダに移動しコマンドプロンプトで以下のコマンドを実行します。
サンプルでは、D:\xampp\mysql\binに移動しました。
mysqldump -u root -p -h localhost --port 3309 testphp employee > D:\Test1\db1.txt
Enter password:
1行目は、testphpデータベースのemployeeテーブルを指定しています。portはハイフン2つです。
2行目は、パスワードを入力します。
出力結果
以下は、出力ファイル(db1.txt)の内容です。
<前略>
DROP TABLE IF EXISTS `employee`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `employee` (
`id` int(11) NOT NULL,
`name` varchar(20) NOT NULL,
`romaji` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
/*!40101 SET character_set_client = @saved_cs_client */;
<中略>
LOCK TABLES `employee` WRITE;
/*!40000 ALTER TABLE `employee` DISABLE KEYS */;
INSERT INTO `employee` VALUES (1,'suzuki','null'),(2,'tanaka','1'),(3,'kobayashi','2');
/*!40000 ALTER TABLE `employee` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
<後略>
2行目は、drop文です。インポート時にテーブルが存在したときのみ実行されます。
5行目は、create文です。インポート時に使用します。
15行目は、データの部分です。insert文の形式で書かれるためインポートで使用できます。
MySQLにインポートする(mysql)
mysql -u ユーザ名 -p [-h ホスト名] [--port ポート番号] データベース名 < ファイル名 |
- MySQLからエクスポートしたテキストファイルをMySQLにインポートします。
- コマンドプロンプト上でmysqlにログインしていない状態で実行します。
- mysqlコマンドを実行後、パスワードを入力します。
- 以下は、MySQLのmysqldumpのリンクです。オプションは他にも多数あります。
https://dev.mysql.com/doc/refman/5.6/ja/mysqldump.html
実行例
mysql.exeがあるフォルダに移動し以下のコマンドを実行します。
サンプルでは、E:\xampp\mysql\binに移動しました。
mysql -u root -p -h localhost --port 3309 testphp < D:\Test1\db1.txt
Enter password:
1行目は、testphpデータベースを指定しています。
2行目は、パスワードを入力します。
関連の記事