把数据转换成sql(awk实现)

把数据转换成sql语句,主要用户移植数据库的时候使用,或批量插入数据的时候使用
方法如下(数据格式的分隔符为tab):
1.用ultraedit编辑器最简单,只需简单的替换就行了,^t替换为',',^p替换为')^p,列模式下在每行的开始处输入insert .... (' .
2.用脚本实现,如sed,awk等命令,在linxu下使用脚本前先使用dos2unix命令把数据的文本文件转换一下,如下awk(dataToSql.awk)脚本:
dos2unix source.txt

BEGIN{
#把数据转换成数据库插入的方式如:a b c转换成('a','b','c')
FS="\t";
}
{
#NF是每行的字段
#NR是当前行号
for(i=1;i<=NF;i++){
#cl[NR]=cl[NR]"\47"$i"\47"",";
if(i==1){#第一列
cl[NR]="(""\47"$i"\47"",";
}else if(i==NF){#最后一列
cl[NR]=cl[NR]"\47"$i"\47"")";
}else{
cl[NR]=cl[NR]"\47"$i"\47"",";
}
}
}
END{
for(key in cl){#打印
print cl[key];
}
}



调用命令:awk -f dataToSql.awk source.txt>taget.txt
3.通过写程序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值