CSVデータのロード方法
CSVデータのロードは、データベースにログインし、COPYコマンドを使用します。
区切り文字の指定には「DELIMITER」パラメータを使用し、囲み文字の指定には「ENCLOSED BY」パラメータを使用します。
構文
dbadmin=> COPY スキーマ名.テーブル名 FROM 'CSVファイル名' DELIMITER '区切り文字' ENCLOSED BY '囲み文字' DIRECT;実行例
以下のように、区切り文字がカンマ、囲み文字がダブルクォーテーションのデータをロードした場合の実行例をご紹介します。
【CSVファイルの内容】
"1","AAA","あああ"
"2","BBB","いいい"
"3","CCC","ううう"【実行例】
dbadmin=> \d public.test_table;
List of Fields by Tables
Schema | Table | Column | Type | Size | Default | Not Null | Primary Key | Foreign Key
--------+------------+--------+-------------+------+---------+----------+-------------+-------------
public | test_table | col1 | int | 8 | | f | f |
public | test_table | col2 | varchar(30) | 30 | | f | f |
public | test_table | col3 | varchar(30) | 30 | | f | f |
(3 rows)
dbadmin=> COPY public.test_table FROM '/tmp/test.csv' DELIMITER ',' ENCLOSED BY '"' DIRECT;
Rows Loaded
-------------
3
(1 row)
dbadmin=> SELECT * FROM public.test_table;
col1 | col2 | col3
------+------+--------
1 | AAA | あああ
2 | BBB | いいい
3 | CCC | ううう
(3 rows)参考情報
・データロードのまとめ記事
https://www.ashisuto.co.jp/cm/analytics-database/load-summary.html
検証バージョンについて
この記事の内容はVertica 9.1で確認しています。