将Excel中的数据导入到MySQL数据库中

工具 —— 工欲善其事必先利其器

  1. MySQLWorkbench
  2. Sublime
  3. Excel
  4. Console

需求

假设目前有一个某学校学生的成绩的excel,由于业务的需要,要求把excel中的数据转到MySQL中存储起来,供别的开发人员使用。

xxx学校成绩表.xls

思路

.xls -> .txt -> mysql.db

操作步骤

  1. 使用Excel导出到txt文件。选择"另存为...",不要选择 .csv 格式,转成这个格式的时候,在编码上容易存在问题,很难再导入到MySQL中,笔者在这个问题上浪费了好几个小时的时间。直接转成"UTF-16 Unicode 文本"。
  2. 把转好的文件再用Sublime保存成utf8的文件。
  3. 在workbench中创建好对应的数据库和表结构。
  4. 再在console中使用如下命令: mysql --local-infile -u user -p 连接MySQL数据库。
  5. 使用如下命令加载数据到相应的表中:
    LOAD DATA LOCAL INFILE YOUR_FILE_PATH REPLACE INTO TABLE YOUR_DATABASE.YOUR_TABLE CHARACTER SET utf8 FIELDS TERMINATED BY "\t" LINES TERMINATED BY "\r" IGNORE 2 LINES;
    注意
    如果报错,请根据相应的报错信息去调试。这个错误,有可能是在你数据库设计时的问题,也有可能是你导出的.txt文件的格式的问题,但是,应该不会存在文本格式错误的问题。

参考

  1. 【MySQL实践经验】LOAD DATA INFILE 报错 ERROR 1148 (42000) 或 ERROR 1045 (28000)的解决办法
  2. Mysql 插入中文错误:Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1
  3. ERROR CODE: 1175 YOU ARE USING SAFE UPDATE MODE AN
  4. 使用mysql workbench将excel远程导入到mysql数据库

你可能感兴趣的:(将Excel中的数据导入到MySQL数据库中)