広告
広告
https://www.7key.jp/software/mysql_csv.html#how
SELECT * INTO OUTFILE '/tmp/sample.csv\'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'
FROM table;
https://www.7key.jp/software/mysql_csv.html#perl#!/usr/perl
# 出力ファイルパス/名
my $file_csv = "/tmp/sample.csv";
# データベース
my $ds = "DBI:mysql:[databasename];host=localhost;port=/tmp/mysql.sock";
# データベース接続ユーザ名
my $user_name = "piyo";
# データベース接続パスワード
my $password = "piyo";
use DBI;
$file_csv =~ /([^\/]+\.csv)/;
my $csv_name = $1;
# 既存ファイルの上書きは出来ないので事前に削除
if (-f "$file_csv"){unlink "$file_csv";}
# DBにDBI経由で接続
$db = DBI->connect($ds, $user_name, $password) || die "Got error $DBI::errstr when connecting to $ds\n";
# 指定場所にテキストファイルとして出力
$sth = $db->prepare("SELECT * INTO OUTFILE \'$file_csv\' FIELDS TERMINATED BY \',\' ENCLOSED BY \'\"\' ".
"ESCAPED BY \'\\\\\' LINES TERMINATED BY \'\\r\\n\' FROM table");
$sth->execute;
$rc = $sth->finish;
$rc = $db->disconnect;
# 完成したテキストデータを標準出力/ダウンロード
print "Content-type: application/octet-stream\n";
print "Content-Disposition: attachment; filename=".$csv_name."\n\n";
if (-f "$file_csv") {
if (open(FILE, "$file_csv")) {
print <FILE>;
close(FILE);
}
}
exit(0);
広告