kyuuuuuuuuuuriのブログ

うぇぶエンジニアになりたくてなりたくて震えるもろきゅうの日記です

mysqlでcsv,tsv出力したいとき

mysqlのselect内容をCSV,TSV出力したいときのコマンドをよく忘れるので記載しておく。


CSV

SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM test_table;

TSV

SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
  FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM test_table;

SELECT構文は普通のSELECT構文と同じ
INTO OUTFILEがセレクトした結果を外部ファイルに保存するという命令
FIELDS TERMINATED BY ',' が、行を何で区切るかという命令
LINES TERMINATED BY '\n' は列を何で区切るかという命令(基本は改行文字コード