把数据转换成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.通过写程序

你可能感兴趣的:(sql,C++,c,脚本,C#)