昨日のこれと合わせると結構使えるかも。
例えばこういうCSVを
$ cat sample.csv aaa,bbb,ccc,ddd,eee 1,2,3,4,5 10,20,30,40,50 100,200,300,400,500csv2sqlに渡すと
$ csv2sql sample.csv INSERT INTO sample (aaa , bbb , ccc , ddd , eee) VALUES ('1' , '2' , '3' , '4' , '5') INSERT INTO sample (aaa , bbb , ccc , ddd , eee) VALUES ('10' , '20' , '30' , '40' , '50') INSERT INTO sample (aaa , bbb , ccc , ddd , eee) VALUES ('100' , '200' , '300' , '400' , '500') $ csv2sql -k aaa sample.csv UPDATE sample SET aaa='1', bbb='2', ccc='3', ddd='4', eee='5' WHERE aaa='1' UPDATE sample SET aaa='10', bbb='20', ccc='30', ddd='40', eee='50' WHERE aaa='10' UPDATE sample SET aaa='100', bbb='200', ccc='300', ddd='400', eee='500' WHERE aaa='100' $ csv2sql -k "aaa,ccc" sample.csv UPDATE sample SET aaa='1', bbb='2', ccc='3', ddd='4', eee='5' WHERE aaa='1' AND ccc='3' UPDATE sample SET aaa='10', bbb='20', ccc='30', ddd='40', eee='50' WHERE aaa='10' AND ccc='30' UPDATE sample SET aaa='100', bbb='200', ccc='300', ddd='400', eee='500' WHERE aaa='100' AND ccc='300'こんな感じ。CSVファイル名がTable名に、CSVのheader行がカラム名に。update文でキーまで更新してることに今ごろ気づいたけど気にしない。
ソース
Gaucheで書きました。ソースはこちら。追記
update文でキーまで更新してることに今ごろ気づいたけど気にしない。
対応した。
0 件のコメント:
コメントを投稿