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

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

テーマ別に探す

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

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

INTO OUTFILEオプション付きSELECT文

 SELECT文にINTO OUTFILEオプションを追加すると、画面上にSELECT文の結果を表示する代わりに指定したファイルに出力結果を格納します。WHEREORDER BYなど各種の句が通常のSELECT文と同じく利用できます。以下の点に注意が必要です。

  •  サーバー側のファイルに出力される。クライアント側ではない
  •    データは新しいファイルにのみ出力される。既存のファイルは使用できない。
  •    1行のデータごとに改行されて出力される

 構文は以下のいずれも利用可能です。

SELECT INTO OUTFILR 'ファイル名' [文字コード] [エクスポートオプション] 「SELECT文の本体」;
SELECT 「SELECT文の本体INTO OUTFILR 'ファイル名' [文字コード] [エクスポートオプション];

インポートとエクスポートのフォーマット

 いずれのエクスポートの方法でも、列がタブで区切られ、行が改行で区切られたフォーマットとなっています。またインポート時も明示的に指定しない限りこの形式をデフォルトとしています。

SQLコマンドでのオプション コマンドラインでのオプション 意味
FIELDS TERMINATED BY --fields-terminated-by 列の区切り文字
FIELDS ENCLOSED BY --fields-enclosed-by 列の囲み文字
LINES TERMINATED BY --lines-terminated-by 行の区切り文字

mysqldumpコマンド

 コマンドラインからデータのエクスポートをするのがmysqldumpコマンドです。mysqldumpもフォーマットを制御するオプションが使えます。mysqldumpコマンドはクライアントプログラムなので、接続先のサーバの情報をオプションで明示的に指定する必要があります。構文は以下の通りです。

 特定のデータベースをエクスポートする場合

mysqldump [オプション] データベース名
mysqldump [オプション] --databases データベース名

 特定のテーブルをエクスポートする場合

mysqldump [オプション] データベース名 テーブル名

 複数のデータベースをエクスポートする場合

mysqldump [オプション] --databases DB1 [DB2 DB3...]
 ※データベース名をスペースで区切る
mysqldump [オプション] --all-databases

著者プロフィール

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

    日本オラクル株式会社 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