not good but great

プログラミング、アート、映画・本の感想について書きます。

MySQLでファイル名に日付をつけてcsvをexport

sqlの結果をexportしてcsvに書き出す。ファイル名に日付をつける場合はMySQLの関数を使うためCONCATを使う。

SET @sql_text =
   CONCAT (
      "
       select * from my_table
        INTO OUTFILE '/var/lib/mysql-files/my-results-"
       , DATE_FORMAT( NOW(), '%Y%m%d%H%i%s')
       , ".csv'"
    );

PREPARE s1 FROM @sql_text;
EXECUTE s1;
DROP PREPARE s1;

tsv > csv

sed -e 's/"/""/g;s/\t/","/g;s/^/"/;s/$/"/;s/\n//g' my-results-[date].csv > my-results-[date]_comma.csv