我们有一个CSV文件,我们已经过仔细检查和剥离,以便以我们想要的格式显示数据。
因此这个csv文件的大小不到500kb。我已经转换为sql(保存为txt)希望没问题。
原始csv数据条目是3个字段,因此:
'STANLEY', '7331', 'TAS'
'GORMANSTON', '7466', 'TAS'
转换后如此:
INSERT INTO郊区('Locality'
,'Pcode'
,'State'
)VALUES('\'STANLEY \'','\''7331 \'','\'TAS \'' );
INSERT INTO郊区('Locality'
,'Pcode'
,'State'
)VALUES('\'GORMANSTON \'','\''7466 \'','\'TAS \'' );
现在好了,我不想成为会员,我想知道。我是否正确转换了它? 我是否应该考虑将此代码更清晰地导入数据库。
这个文件的sql超过1.6 MB,超过16,000个条目,所以要确保我已经做好了事情。
干杯
答案 0 :(得分:2)
看起来很好,除了转义的报价。我通常使用excel文件使用此技术。我有我的列,然后我创建一个公式来生成适当的插入语句。或者,您可以使用SSIS之类的东西将数据导入数据库。
答案 1 :(得分:2)
正如亚当的评论所说的那样,你很可能不想插入引号,你正在使用“斯坦利”等。
此外,在“字段”一侧(地点等),确保这些是后退(非移位波形),数据面(STANLEY)是单引号。
更改为:
INSERT INTO suburbs (`Locality`,`Pcode`,'State`) VALUES ('STANLEY','7331','TAS');
除此之外,我认为没有任何问题。
答案 2 :(得分:1)
你的SQL看起来不错,虽然额外的转义单引号不会在你的记录中结束吗?我不确定你的唱片中是否有“STANLEY”或STANLEY,所以我会把它留给你。
你完成了一半的工作。你有一个插入策略,你也有一个回滚策略吗?看起来这对你来说似乎是一次大数据迁移,如果我可能如此谦虚地建议你在垃圾表中只用几行来尝试插入,你不介意先删掉它。如果必须撤消更改并且没有任何内容或准备撤消任何错误,那将始终是一种痛苦。