Excel数据快速导入MYSQL对应的表中

文章介绍了两种将Excel数据高效导入数据库的方法:一是利用Excel函数生成SQL语句,通过替换生成UUID来处理ID;二是使用数据库管理工具Navicat的导入功能,直接从Excel文件导入数据。对于ID处理,文中提到了两种策略,包括手动递增和使用函数自动生成。同时强调了时间格式和主键设置的重要性。

        遇到一个需求就是将Excel中的数据插入对应的表中,一开始想到用NotePad的alt进行操作,发现效率慢也麻烦,通过网上查询找到了两种方案,通过Excel函数生成SQL语句和Navicat的导入功能。

Excel的数据实例(如图所示):

 

第一种导入方法:通过Excel函数生成SQL

       我们可以在数据的左边或者右边插入一列只要坐标对准了就行了,在该列的数据的第一行插入这个,并调整对应的坐标。
        =CONCATENATE("INSERT INTO STUDENT(ID, NAME, AGE, ADDRESS) VALUES(''    , '"&B2&"', '"&C2&"', '"&D2&"');")
        在选中这个单元格复制出来就变成了
        INSERT INTO STUDENT(ID, NAME, AGE, ADDRESS) VALUES('' , '张三', '18', '北京市');

        

        但是ID是空的但是我们又想要UUID,这时候有两种解决方法
        第一种:
                 在Excel写一个id列数字递增,就写两个然后在单元格右下角虚表悬停变成加号往下拉就自动递增了。
                然后赋值到NotePad里面按住alt选中要插入的ID的值,将值统一修改为REPLACE(UUID(),"-","")这样在执行sql的时候就自动生成UUID了,但是这种方法麻烦毕竟还得用鼠标选择然后统一修改。
         第二种:
                在Excel写一个id列数字递增,就写两个然后在单元格右下角虚表悬停变成加号往下拉就自动递增了。
                然后直接执行所有新增语句,update student set id =  md5(uuid());在执行这个语句,所有id就会自动生成了,感觉这种方法稍微快一些,也简单但是记得修改为自己的表名。

 

第二种导入方法:Navicat导入

        将列的第一行修改为对应的字段名字,然后通过Navicat导入,导入的时候选择Excel导入就可以。

        如果说咱们有时间的话导入到这一步的时候一定要选的YMD不然时间数据导入之后与咱们Excel中不一样。
        咱们的ID一般都是主键所以也和第一种导入方法的ID解决方案第二种一样这样可以进行快速导入。

 

        这是目前我使用的两种办法,感觉还可以但肯定也有更便捷的方法,如果有大佬知道欢迎指教,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值