EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

第9回 MySQL事始 データのエクスポートとインポート

edited by DB Online   2011/11/24 00:00

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


著者プロフィール

  • 梶山隆輔(カジヤマリュウスケ)

    日本オラクル株式会社 MySQL Global Business Unit Asia Pacific & Japan担当 MySQL Principal Sales Consultant オラクル社において、MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なMySQL部門にて、台湾、オーストラリア、インドに在籍するチームメンバーを束ね、アジア太平洋地域の25以上の国や地域でのMySQL普及やビジネスの拡大をミッションとする。  

バックナンバー

連載:MySQL事始

もっと読む

All contents copyright © 2007-2020 Shoeisha Co., Ltd. All rights reserved. ver.1.5