关于数据导入,教你几招

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

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 文件进行导入了,如果首行是标题的话,记得忽略首行。


image.png

image.png


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


总结:


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

目录
相关文章
|
3月前
|
SQL 存储 OLAP
ClickHouse 在什么场景下才管用?
ClickHouse 是一款以速度快著称的分析型数据库,尤其在列式宽表遍历方面表现出色。然而,面对复杂查询和关联运算时,ClickHouse 的性能急剧下降,甚至无法执行某些任务。相比之下,esProc SPL 通过更简洁的 SPL 语法和强大的优化能力,在各种复杂场景下均表现出色,全面超越 ClickHouse。实际案例显示,esProc SPL 在处理大规模数据时,性能提升可达数十倍。
|
5月前
|
关系型数据库 MySQL 大数据
DataX:数据同步的超音速英雄!阿里开源工具带你飞越数据传输的银河系,告别等待和故障的恐惧!快来见证这一数据工程的奇迹!
【8月更文挑战第13天】DataX是由阿里巴巴开源的一款专为大规模数据同步设计的工具,在数据工程领域展现强大竞争力。它采用插件化架构,支持多种数据源间的高效迁移。相较于Apache Sqoop和Flume,DataX通过并发写入和流处理实现了高性能同步,并简化了配置流程。DataX还支持故障恢复,能够在同步中断后继续执行,节省时间和资源。这些特性使其成为构建高效可靠数据同步方案的理想选择。
391 2
|
5月前
|
SQL 数据挖掘 数据处理
“惊!云数据仓库ADB竟能这样玩?UPDATE语句单表、多表关联更新,一键解锁数据处理新境界!”
【8月更文挑战第7天】云数据仓库ADB提供高性能数据分析服务,支持丰富的SQL功能,包括关键的UPDATE语句。UPDATE可用于单表更新,如简单地增加员工薪资;亦支持多表关联更新,实现复杂数据关系处理。例如,结合departments表更新sales部门员工薪资。使用时需确保关联条件准确,考虑事务管理保证数据一致性,并优化性能以提升大规模更新效率。合理运用UPDATE增强数据仓库实用性和灵活性。
83 0
|
SQL 数据库
数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)
数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)
221 0
数据库实验三——数据更新操作中经典题、难题以及易错题合集(含数据导入导出操作详细教程)
|
大数据 Linux 网络安全
|
SQL 存储 分布式数据库
如何同时兼顾多维分析和快速查询的需求?Kudu来帮忙!彭文华
如何同时兼顾多维分析和快速查询的需求?Kudu来帮忙!彭文华
|
数据库
数据库实验二:数据查询中难题、易错题合集
数据库实验二:数据查询中难题、易错题合集
181 0
数据库实验二:数据查询中难题、易错题合集
|
SQL 关系型数据库 MySQL
深聊MySQL,从入门到入坟之:如何优化数据导入?
深聊MySQL,从入门到入坟之:如何优化数据导入?
218 0
深聊MySQL,从入门到入坟之:如何优化数据导入?
|
存储 数据采集 Web App开发
半天掌握日志存储 云启实验室系列课程 第三讲 | 日志服务之数据清洗与入湖
半天掌握日志存储 云启实验室系列课程 第三讲 | 日志服务之数据清洗与入湖 本教程介绍如何使用日志服务接入 NGINX 模拟数据,通过数据加工对数据进行清洗并归档至OSS中进行存储 专家支持:阿里云日志服务技术专家 王星宇 唐恺
485 0
半天掌握日志存储 云启实验室系列课程 第三讲 | 日志服务之数据清洗与入湖
|
存储 弹性计算 监控
半天掌握日志存储 云启实验室系列课程 第六讲 | 日志服务数据导入
本场景介绍如何通过日志服务数据导入方式,将 OSS 数据导入到日志服务。
458 0
半天掌握日志存储 云启实验室系列课程 第六讲 | 日志服务数据导入

相关实验场景

更多