MySQL データを外部ファイルに出力する

MySQL

MySQLで、データを抽出して外部ファイルに保存する場合、次のようなSQLを書きます。
例は、Windowsで実行していて、test_tableというtableの中身をC:\Program Files\xampp\htdocs\test\data\に、data.csvという名前でCSV出力したい場合です。

 $sql="SELECT * INTO OUTFILE 
 'C:/Program Files/xampp/htdocs/test/data/data.csv'
 FIELDS TERMINATED BY',' FROM test_table 
 ";

こうやってデータを出力したい場合、WHERE節で条件を絞り込みたい時もあるかと思います。
もちろん、上記のSQLにWHERE節を加えればよいのです。

ところで同一のフィールドで、複数の値を参照したい場合、皆さんはどんな風にコードを書いてますか?
私は、PHPで次のようにしてみました。

 //$test_arrayが指定したいidの配列だとする
 $sql_array=implode(' or id = ',$test_array);
 $sql="SELECT * INTO OUTFILE 
 'C:/Program Files/xampp/htdocs/test/data/data.csv'
 FIELDS TERMINATED BY',' FROM test_table 
 WHERE id = $sql_array";

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です