searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

EXCEL转换MySQL方法

2023-09-01 08:22:00
72
0

前言


由于手动将数据从EXCEL赋值并插入MySQL时,存在效率低下、错误率高的问题,因此寻找了一下从EXCEL中导出.csv文件,并直接插入MySQL的方法,以提升效率,减少错误情况的发生。

为了更加清晰地说明插入过程,首先在MySQL中构建一张表格,其具有以下属性:

  • name (名字);
  • id (编号,【主键】);
  • age (年龄);
  • gendor (性别:0为女性,1为男性);
  • email (邮件)

具体的创建语句如下:

CREATE TABLE `students` (
  `name` varchar(8) DEFAULT NULL,
  `id` bigint NOT NULL AUTO_INCREMENT,
  `age` tinyint DEFAULT NULL,
  `gender` tinyint(1) DEFAULT NULL,
  `email` varchar(32) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=104 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

方式一:使用sql语句进行导入操作


  1. cmd登录MySQL
    mysql -u root -p
    use students
    select * from students  (确认是否成功创建数据表)
  2. 将EXCEL的.xlsx文件转存为UTF-8格式的.csv文件(可以使用EXCEL或者WPS的另存为转):

    如转换过程中没有选择转换为UTF-8格式,那么最终导入数据过程可能会出现乱码。
  3. 使用sql语句导入数据
    load data local infile 'D:/students.csv' into table  students fields terminated by ',';

此过程中,可能会出现几个问题:

    • MySQL ERROR 3948 (42000)
      ERROR 3948 (42000): Loading local data is disabled;
      this must be enabled on both the client and server sides

解决方法:

      • 查看是否开启加载本地文件 show variables like 'local_infile';

      • 如果未开启,那么在cmd中进行设置:
        set global local_infile=on;
    • ERROR 2068 (HY000)
      ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected 
      due to restrictions on access.

       

解决了ERROR 3948以后,我用load data local infile又出现了Error2068,ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.

解决方法:

      • 需要以mysql -u 用户名 -p --local-infile的命令登陆,如:mysql -u root -p --local-infile。即可正常使用命令,如load csv文件到数据库:
        load data local infile 'd:/student.csv' into table 
        gorm.students fields terminated by ',';
    • ERROR 1064 (42000)
      mysql> set global set local_infile=on;
      
      ERROR 1064 (42000): You have an error in your SQL syntax;
      check the manual that corresponds to your MySQL server version 
      for the right syntax to use near 'set local_infile=on' at line 1

解决方法:

      • 语法拼写错误

     4. 验证

方式二:使用IDE工具可视化导入操作


  1. 同方式一的第2.步,将.xlsx文件转存为.csv
  2. 使用Goland插入数据

    1.

    2.

    3.
    4.
    5.
  3. 数据验证

 

0条评论
0 / 1000
李****凡
1文章数
0粉丝数
李****凡
1 文章 | 0 粉丝
李****凡
1文章数
0粉丝数
李****凡
1 文章 | 0 粉丝
原创

EXCEL转换MySQL方法

2023-09-01 08:22:00
72
0

前言


由于手动将数据从EXCEL赋值并插入MySQL时,存在效率低下、错误率高的问题,因此寻找了一下从EXCEL中导出.csv文件,并直接插入MySQL的方法,以提升效率,减少错误情况的发生。

为了更加清晰地说明插入过程,首先在MySQL中构建一张表格,其具有以下属性:

  • name (名字);
  • id (编号,【主键】);
  • age (年龄);
  • gendor (性别:0为女性,1为男性);
  • email (邮件)

具体的创建语句如下:

CREATE TABLE `students` (
  `name` varchar(8) DEFAULT NULL,
  `id` bigint NOT NULL AUTO_INCREMENT,
  `age` tinyint DEFAULT NULL,
  `gender` tinyint(1) DEFAULT NULL,
  `email` varchar(32) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=104 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

方式一:使用sql语句进行导入操作


  1. cmd登录MySQL
    mysql -u root -p
    use students
    select * from students  (确认是否成功创建数据表)
  2. 将EXCEL的.xlsx文件转存为UTF-8格式的.csv文件(可以使用EXCEL或者WPS的另存为转):

    如转换过程中没有选择转换为UTF-8格式,那么最终导入数据过程可能会出现乱码。
  3. 使用sql语句导入数据
    load data local infile 'D:/students.csv' into table  students fields terminated by ',';

此过程中,可能会出现几个问题:

    • MySQL ERROR 3948 (42000)
      ERROR 3948 (42000): Loading local data is disabled;
      this must be enabled on both the client and server sides

解决方法:

      • 查看是否开启加载本地文件 show variables like 'local_infile';

      • 如果未开启,那么在cmd中进行设置:
        set global local_infile=on;
    • ERROR 2068 (HY000)
      ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected 
      due to restrictions on access.

       

解决了ERROR 3948以后,我用load data local infile又出现了Error2068,ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.

解决方法:

      • 需要以mysql -u 用户名 -p --local-infile的命令登陆,如:mysql -u root -p --local-infile。即可正常使用命令,如load csv文件到数据库:
        load data local infile 'd:/student.csv' into table 
        gorm.students fields terminated by ',';
    • ERROR 1064 (42000)
      mysql> set global set local_infile=on;
      
      ERROR 1064 (42000): You have an error in your SQL syntax;
      check the manual that corresponds to your MySQL server version 
      for the right syntax to use near 'set local_infile=on' at line 1

解决方法:

      • 语法拼写错误

     4. 验证

方式二:使用IDE工具可视化导入操作


  1. 同方式一的第2.步,将.xlsx文件转存为.csv
  2. 使用Goland插入数据

    1.

    2.

    3.
    4.
    5.
  3. 数据验证

 

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0