代码改变世界

通过csv文件使用awk动态生成sql文

2013-12-24 09:22  纯情蛋蛋汤  阅读(484)  评论(0编辑  收藏  举报

SQL文里因为包含单引号',所以在输出的时候需要特殊处理。

awk中的printf里面要输出单引号是:一个单引号+反斜杠+两个单引号

例:

假如csv文件格式:input.csv

csv文件内容

1,Robert

 

出力的sql文:output.sql

而有表aaa.tbl_name 里面有两列,id和name,假设两个都是需要加上单引号,则shell需要如下update文

 

awk -F ',' {if($1!="" && $2!=""){printf("update aaa.tbl_name\nset name='\''%s'\'' \nwhere id='\''%s'\'';\n",$2,$1)}} input.csv > output.sql