navicat导入外部数据到mysql中文乱码以及日期格式问题

最近在使用navicat导入外部数据到mysql中总结了以下几个问题:

1、中文乱码,这个是因为数据在csv或者excel中格式是ANSI格式。

比如csv的数据内容如下:

在导入向导这里就乱码了:

解决办法:需要修改为utf8格式,修改办法是使用记事本打开csv文件,然后另存为一个新文件,在编码格式的地方选择UTF-8。

    另存为:

 

    编码格式修改之后,导入到数据库中的样子:

    2、日期格式,excel默认日期格式就是使用斜杠分割, 比如:1990/1/2,而navicat在导入的时候,可以对日期做处理,选择分割符,选择日期时间各个字段对应的顺序:

    这里,我上面的导入其实就没有对日期排序做设置,所以导入的时间1990/1/2都变成了2002-01-01 ,要想导入的时间正确,需要设置为YMD,对应年/月/日

    日期在csv中,日期其实没必要填充0,比如1990/1/2,需要严格按照数据库格式来格式化1990/01/02。这个在导入的时候,工具自动填充了。如果非要填充,excel其实也好处理,选中需要操作的记录,然后右键,设置单元格格式,选择自定义,选择yyyy/m/d这个格式,修改为yyyy/mm/dd,或者自己手动输入yyyy/mm/dd。

    操作效果如下:

 

    日期格式,还需要注意一个问题,日期格式要么是正确的时间,要么为空,否则就会报导入错误。这里故意将一个日期改为/。导入的时候就报错:

    错误信息: 

    还有一种,日期本身就不对,比如2007/6/31,肯定也会报错:     

    导入报错:

     

    在导入到mysql中,只要有了csv,其实都可以不用提前建表,导入的时候可以自动建表,但是默认字段都是varchar类型,需要手动修改,另外会根据第一行内容作为字段名称。 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luffy5459

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值