SOURCEコマンドでのインポート
上記の操作と同様の処理を、mysqlクライアントプログラム内のSOURCEコマンドでも実行できます。Windows上ではディレクトリの区切りを¥(円サイン)ではなく//(スラッシュ2個)で表現します。上記と同様のコマンドは下記の通りとなります。
SOURCE c://mysql//world.sql
なおSOURCEはSQL文ではなくmysqlクライアントプログラムの1コマンドです。MySQLサーバに接続した上で実行するコマンドですが、クライアント側のディレクトリを参照しファイルの内容を実行します。クライアントとサーバが別のホストで稼働中は注意してください。
LOAD DATA INFILE文
LOAD DATA INFILEはデータをインポートするSQLコマンドです。インポートするテキストファイルのフォーマットにあわせてオプションを使用します。
LOCALオプション
LOAD DATA INFILE文のLOCALオプションは、クライアントとサーバが別のホストで稼働中に重要になります。このLOCALオプションのないデフォルトの状態では、LOAD DATA INFILE文はサーバ側のディレクトリやファイルを参照します。LOCALオプションをつけると、mysqlクライアントを実行しているホスト上のディレクトリやファイルを参照します。
mysqlimportコマンド
LOAD DATA INFILE文と同等のコマンドラインクライアントがmysqlimportです。mysqldumpと同様にフォーマットの指定をオプションで行うほか、LOAD DATA INFILE文と同じくLOCALオプションでコマンドを実行しているクライアントのホスト上のディレクトリやファイルを参照できます。
インポートとエクスポートの文字コード
格納されているデータやインポートするデータの文字コードがascii以外の場合には、サーバおよびクライアント側の各文字コードの設定を必要とされる文字コードに設定することが重要です。コマンドによってデータに影響を与えるオプションが異なるので注意してください。
コマンド | オプション |
SELECT ... INTO OUTFILE | --default-character-set |
mysqldump | --default-character-set |
LOAD DATA INFILE | character_set_database |
mysqlimport | --default-character-set |