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";