|
|
|
|
公众号矩阵

关于MySQL的数据导入,教你几招

我们知道,数据库是存放数据的仓库。日常我们使用数据库也是为了存储数据,和数据库打交道总免不了要进行数据导入工作。工作中也可能遇到各种不同的数据导入需求,本篇文章主要分享下数据导入相关的小技巧,希望你能学到几招。

作者:MySQL技术来源:MySQL技术|2021-10-29 10:32

本文转载自微信公众号「MySQL技术」,作者MySQL技术。转载本文请联系MySQL技术公众号。

前言

我们知道,数据库是存放数据的仓库。日常我们使用数据库也是为了存储数据,和数据库打交道总免不了要进行数据导入工作。工作中也可能遇到各种不同的数据导入需求,本篇文章主要分享下数据导入相关的小技巧,希望你能学到几招。

1.弄清需求是关键

在进行数据导入前,我们首先要清楚想要做什么,要达到什么效果。最好也要清楚导入的数据量有多大,这样对导入时间也有个评估。

其次,对要导入的文件内容也要有大概了解,比如现在有一个 sql 脚本需要执行,那么你要先看下文件内容,是否存在建表语句、若原表存在该怎么处理、数据冲突又要怎么处理等等,这些都要有个预估。

2.几种数据导入场景

下面我们分场景来讨论下如何进行数据导入:

导入 sql 文件

这种场景还是比较常见的,sql 文件中一般是 insert 语句。执行 sql 文件可以使用 mysql 命令行或 source 执行,例如:mysql -uroot -pxxx testdb < /tmp/testdb.sql ,使用 Navicat 等图形化工具也可以执行 sql 文件,这里建议执行 sql 文件最好是通过命令行来执行,特别是比较大的 sql 文件,使用命令行执行速度更快。

在导入 sql 文件前,要先进入数据库看下表信息,原表是否存在数据,如果是增量导入的话,自增 ID 最好不要指定,有唯一索引的字段要额外注意,如果是清空原表进行导入的话,最好事先进行备份下。

导入 Excel 或 CSV 文件

有时候我们也需要将 Excel 表导入数据库中,相对于 sql 文件,导入 Excel 文件显得更加复杂些,因为 sql 文件中的 insert 语句是数据库能直接识别的,而导入 Excel 文件则需要借助其他工具。

例如我们可以借助 Navicat 的导入向导来导入 Excel 文件,首先要在数据库中创建对应的表,字段顺序及类型要与数据相匹配,为了导入顺利,可以先不创建索引并允许字段为空。之后就可以借助导入向导选择 Excel 文件进行导入了,如果首行是标题的话,记得忽略首行。

不过,使用 Navicat 导入 Excel 文件只适用于数据量比较小的情况,如果数据量比较大且字段比较复杂的情况下,那就要进行改造处理了,比如可以使用 LOAD DATA 或者借助程序脚本进行处理后再导入。

总结

本篇文章简单介绍了数据导入的几种场景及方法。作为工作中会遇到的场景,多学几招还是有必要的。关于数据导入,最重要的还是能够成功导入,无论用那种方法只要能完成需求即可。当然进行导入的前提是不影响现有业务,特别是导入前进行的删除操作,一定要小心,我们导入数据是为了完成需求而不是制造新的麻烦。

【编辑推荐】

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区
  2. 企业可通过四个方法提高数据库安全
  3. Python爬虫助力疫情数据追踪项目实训
  4. 数据中心服务器工程师课程
  5. 英特尔联手谷歌云开发数据中心芯片
  6. 一批新法新规11月起施行:不得大数据杀熟、过度收集个人信息等
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

带你轻松入门 RabbitMQ

带你轻松入门 RabbitMQ

轻松入门RabbitMQ
共4章 | loong576

52人订阅学习

数据湖与数据仓库的分析实践攻略

数据湖与数据仓库的分析实践攻略

助力现代化数据管理:数据湖与数据仓库的分析实践攻略
共3章 | 创世达人

14人订阅学习

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

42人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微