【mysql数据导入】数据导入时的几种方法

时间:2024-03-27 11:12:52

背景

公司目前的开发任务已经结束,与客户对接之后,老系统上的一些数据要导入到新系统中,但是因为老系统中的字段与新系统中不一致,且导出的数据为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


  1. 然后,打开数据库找到自己要导入数据的表,点击导入按钮
    【mysql数据导入】数据导入时的几种方法
  2. 接着按照指示,选择excel数据格式(博主用的2010)
    【mysql数据导入】数据导入时的几种方法
  3. 按照提示选择自己要导入的excel文件以及要导入数据所在的sheet页,点击下一步
    【mysql数据导入】数据导入时的几种方法
  4. 因为数据库中数据表已经建立,无需新建表,中间过程不赘述,直至第六步,如果数据一一对应,点击下一步!
    【mysql数据导入】数据导入时的几种方法
  5. 确定是否覆盖数据库中内容,因为导入的数据即为最终的数据,所以选择的是复制,点击下一步!
    【mysql数据导入】数据导入时的几种方法
  6. 点击开始,如果数据导入成功,会出现successful的提示,一定是出现这个提示才导入成功,注意仔细看!

二、通过excel批量生成sql语句导入数据

场景
  1. 数据库表里已经有数据了需要批量的做一些更新。
  2. 需要设置不同条件的操作。
操作
  1. 有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函数,效果如下:
【mysql数据导入】数据导入时的几种方法
解释说明:选中D列第一行,点击公式中的VLOOKUP函数。
第一个参数为需要被替换的字段,本例中为C列第一行1001301。
第二个参数为查找范围,本例中为G列至H列,要保证所要替换的数据在查找范围内。
第三个参数为所要替换的字段被替换字段在所查找范围中的列数,本例中选中G至H两列,且最终要代替的数据出现在H列,所以填2,即第二列。
第三个参数为0,0为精确查找,建议选0,非精确查找不知道会出来什么幺蛾子。。。。

于陕西易唐云网智能科技有限公司记录