MariaDB クエリの結果をcsvに出力する

MariaDBで、クエリの結果をcsvに出力する手順を記述してます。通常のクエリに「into outfile」で出力先とファイル名を指定して区切り文字を「,」に指定するだけで可能です。
環境
- OS CentOS Stream release 9
- MariaDB 10.10.2
- phpMyAdmin 5.2.0
手順
クエリの結果をcsvに出力するには、以下の構文を使用します。
※出力先は「@@global.secure_file_priv」に値が設定されている場合は、そのパスの配下にしか作成できません。
select * from テーブル名 into outfile "出力先/ファイル名" fields terminated by ',';
実際に、「@@global.secure_file_priv」を確認してから実行してみます。
SELECT @@global.secure_file_priv;
<出力結果>
+---------------------------+
| @@global.secure_file_priv |
+---------------------------+
| NULL |
+---------------------------+
1 row in set (0.000 sec)
ここでは「NULL」になっているので、基本どこでも作成可能です。以下のテーブルデータから作成してみます。

実行します。
select * from tbl1 into outfile "/tmp/tbl1.csv" fields terminated by ',';
実行すると、csvファイルが作成されていることが確認できます。
$ cat /tmp/tbl1.csv
<出力結果>
1,taro,10
2,jiro,20
3,saburo,30
ダブルクオートで囲む
ダブルクオートで囲む場合は、「enclosed by」で囲みたい文字列を指定します。
select * from tbl1 into outfile "/tmp/tbl1_2.csv" fields terminated by ',' enclosed by '"';
ダブルクオートで囲まれていることが確認できます。
$ cat /tmp/tbl1_2.csv
<出力結果>
"1","taro","10"
"2","jiro","20"
"3","saburo","30"
-
前の記事
java 現在のユーザー名を取得する 2024.07.26
-
次の記事
Oracle Database ログイン中のユーザーを一覧で確認する 2024.07.29
コメントを書く