背景
公司目前的开发任务已经结束,与客户对接之后,老系统上的一些数据要导入到新系统中,但是因为老系统中的字段与新系统中不一致,且导出的数据为excel的形式,所以学习了一下导入数据的操作。记录下来,希望能提高大家导入数据时的效率。
方法
一、通过mysql导入excel的方法直接导入数据
- 首先,将excel的列名与数据库中的列名对应,举个栗子:
excel数据如下:
姓名 | 分数 |
---|---|
Harry Potter | 90 |
Hermione Granger | 100 |
Draco Malfoy | 90 |
数据库表的数据格式如下:
NAME_ | SCORE_ |
---|
则最终应将excel表更改为如下:
NAME_ | SCORE_
1. | -:
Harry Potter | 90
Hermione Granger | 100
Draco Malfoy | 90
- 然后,打开数据库找到自己要导入数据的表,点击导入按钮
- 接着按照指示,选择excel数据格式(博主用的2010)
- 按照提示选择自己要导入的excel文件以及要导入数据所在的sheet页,点击下一步
- 因为数据库中数据表已经建立,无需新建表,中间过程不赘述,直至第六步,如果数据一一对应,点击下一步!
- 确定是否覆盖数据库中内容,因为导入的数据即为最终的数据,所以选择的是复制,点击下一步!
- 点击开始,如果数据导入成功,会出现successful的提示,一定是出现这个提示才导入成功,注意仔细看!
二、通过excel批量生成sql语句导入数据
场景
- 数据库表里已经有数据了需要批量的做一些更新。
- 需要设置不同条件的操作。
操作
- 有excel表如下:
姓名 | 性别 | 年龄 |
---|---|---|
李明 | 男 | 10 |
孙楠 | 男 | 20 |
刘伟 | 男 | 30 |
excel表格中有三列数据,希望导入到数据库users表中,对应的字段分别是name,sex,age 。
在你的excel表格中增加一列,利用excel的公式自动生成sql语句,方法如下:
1、增加一列(D列)
2、在第一行的D列,就是D1中输入公式: =CONCATENATE(“insert into users (name,sex,age) values (‘”,A1,”’,’”,B1,”’,’”,C1,”’);”)
3、此时D1已经生成了如下的sql语句: “insert into users (name,sex,age) values (‘李明’,’男’,’10’)”;
4、将D1的公式复制到所有行的D列
5、此时D列已经生成了所有的sql语句
6、把D列复制到一个mysql查询中执行即可。
辅助功能(excel功能函数之vlookup)
因为有些数据需要根据现有数据规则进行替换,所以使用了excel的vlookup函数,效果如下:
解释说明:选中D列第一行,点击公式中的VLOOKUP函数。
第一个参数为需要被替换的字段,本例中为C列第一行1001301。
第二个参数为查找范围,本例中为G列至H列,要保证所要替换的数据在查找范围内。
第三个参数为所要替换的字段被替换字段在所查找范围中的列数,本例中选中G至H两列,且最终要代替的数据出现在H列,所以填2,即第二列。
第三个参数为0,0为精确查找,建议选0,非精确查找不知道会出来什么幺蛾子。。。。
于陕西易唐云网智能科技有限公司记录