MySQLインポートエクスポート方法の概要


into outfileとload data infileを使用してエクスポートデータをインポート
 
この方法の利点は、エクスポートされたデータが自分でフォーマットを規定することができ、純粋なデータをエクスポートすることができ、テーブル情報が存在せず、mysqldumpに比べて柔軟で機動的な別のデータベースの異なるテーブルに直接インポートすることができることです.
次のmysqlコマンドはselectのmytableテーブルのデータを/home/db_にエクスポートします.bak 2012ファイル.
select * from mytable where status!=0 and name!='' into outfile '/home/db_bak2012'   
fields terminated by '|' enclosed by '"' lines terminated by '\r
' ;

 
参照先:https://dev.mysql.com/doc/refman/5.7/en/select-into.html
 
先ほどバックアップしたデータをインポートするには、load data infileメソッドを使用します.mysqlimportコマンドに等価です.次のmysqlコマンドで、エクスポートしたデータをmytable_にインポートします.bakのテーブル:
load data infile '/home/db_bak2012' into table mytable_bak   
fields terminated by '|' enclosed by '"' lines terminated by '\r
' ;

 
参照先:https://dev.mysql.com/doc/refman/5.7/en/load-data.html    https://dev.mysql.com/doc/refman/5.7/en/mysqlimport.html
 
mysqldumpを使用してデータベースをエクスポートする
いくつかの一般的な例を見てみましょう.
(1)データベース全体のデータとテーブル構造mysqldump-uユーザー名-pデータベース名>エクスポートされたファイル名mysqldump-u wcnc-p smgp_のエクスポートapps_wcnc > wcnc.sql
 
(2)テーブルmysqldump-uユーザー名-pデータベース名テーブル名>エクスポートされたファイル名mysqldump-u wcnc-p smgp_のエクスポートapps_wcnc users> wcnc_users.sql
(3)導出構造はデータmysqldump--opt-dデータベース名-u root-p>xxxを導出しない.sql    mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:\wcnc_db.sql#-dデータをエクスポートしない構造のみをエクスポート--add-drop-table create文ごとにdrop tableを1つ追加
 
(4)データをエクスポートして構造をエクスポートしない
mysqldump-tデータベース名-uroot-p>xxx.sql
 
(5)データベースのインポート、一般的なsourceコマンド
mysql-u root-p mysql>useデータベースmysql>set names utf 8;(コードを確認しておき、設定しないと文字化けしてしまう可能性があるのでUTF-8ではないことに注意)mysql>source./wcnc_db.sql
 
(6)マルチライブラリエクスポート上のインスタンスは最も基本的なものであり、複数のライブラリを一括エクスポートする必要がある場合があります.--databasesまたは-Bを追加して、次の文を追加できます.
mysqldump-uroot-p--databases test mysql#スペース区切り
また、データベース内のすべてのライブラリをすべてバックアップする必要がある場合があります.-all-databasesを使用して、次の文を使用できます.
mysqldump  -uroot -p -all-databases
 
(7)条件導出
mysqldumpコマンドには、データのエクスポート条件を設定するためのwhere/-wパラメータがあります.使用方法はSQLクエリーコマンドのwhereと基本的に同じです.これにより、データベースから必要なデータの一部をエクスポートできます.
コマンドのフォーマットは次のとおりです.
mysqldump-uユーザー名-pパスワードデータベース名テーブル名--where=「フィルタ条件」>ファイルパスのエクスポート
例:
testデータベースからのtest_dataテーブルからidが100より大きいデータを/tmp/testにエクスポートする.sqlというファイルには
mysqldump -uroot -p123456 test test_data --where="id > 100">/tmp/test.sql
インポート時
mysql -u root -p 123456 test test_data < test.sql
 
参照先:https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html