工具 —— 工欲善其事必先利其器
- MySQLWorkbench
- Sublime
- Excel
- Console
需求
假设目前有一个某学校学生的成绩的excel,由于业务的需要,要求把excel中的数据转到MySQL中存储起来,供别的开发人员使用。
xxx学校成绩表.xls思路
.xls -> .txt -> mysql.db
操作步骤
- 使用Excel导出到txt文件。选择"另存为...",不要选择
.csv
格式,转成这个格式的时候,在编码上容易存在问题,很难再导入到MySQL中,笔者在这个问题上浪费了好几个小时的时间。直接转成"UTF-16 Unicode 文本"。 - 把转好的文件再用Sublime保存成utf8的文件。
- 在workbench中创建好对应的数据库和表结构。
- 再在console中使用如下命令:
mysql --local-infile -u user -p
连接MySQL数据库。 - 使用如下命令加载数据到相应的表中:
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文件的格式的问题,但是,应该不会存在文本格式错误的问题。
网友评论