MySQL表数据的导入导出方法

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: mysql的导入导出数据的方法有很多,这里简单介绍下select into file、mysqldump、load data 和mysqlimport方法
导出数据的方法:
一、select into outfile
将表数据导出到一个文本文件最简单的方法是使用select...into outfile语句的查询结果直接导出到OS层面上的文件中。
该语句默认的列于列之间的分隔符为tab,行与行之间的数据分隔符为换行符,通过参数可以改变分隔符:
fields terminated by '';
lines terminated by '';
注意:
用户必须要有file权限才能执行该语句;
由mysql服务器直接创建输出文件,输出文件必须不存在;
示例:
mysql> select * from jiang into outfile '/tmp/jiang.txt';
[root@jiang tmp]# cat jiang.txt 
0	ling
1	ni
2	ai
3	zhou
4	jiang
5	wo

mysql> select * from jiang into outfile '/tmp/jiang.txt'
    -> fields terminated by '#*#';
[root@jiang tmp]# cat jiang.txt 
0#*#ling
1#*#ni
2#*#ai
3#*#zhou
4#*#jiang
5#*#wo


二、mysqldump命令
mysqldump命令是逻辑备份中使用的命令,但是更常用mysqldump来导出一张表的数据。
常用格式:
导出一张完整的表(建表语句和表数据在同一文件中):
mysqldump -u** -p** db_name tb_name > filename
mysqldump -u** -p** --single-transaction db_name --tables tb >file
导出一个或多个表(表结构和表数据分离)
mysqldump -u** -p** -T directory --fields-terminated-by '*' db [tb];


导入数据的方法
一、Load data
mysql中创建一个新表,然后通过一个文件将表的数据导入到这个表中,而不用再手工通过insert输入。
Load data 完整语法:
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
     [REPLACE | IGNORE]
     INTO TABLE tbl_name
     [PARTITION (partition_name,...)]
     [CHARACTER SET charset_name]
     [{FIELDS | COLUMNS}   #文件每一行的字段分隔符
         [TERMINATED BY 'string']   #指明每一行的字段分隔符是什么
         [[OPTIONALLY] ENCLOSED BY 'char']
         [ESCAPED BY 'char']
     ]
     [LINES   #文件中行与行之间的分隔符,默认回车
         [STARTING BY 'string']   #指明行之间的分隔符是什么
         [TERMINATED BY 'string']
     ]
Load data 示例:
创建一个新表 shi,文件shi在/mydata目录下,将/mydata/shi文件的数据导入到表shi中。
mysql> load data infile '/mydata/shi' into table shi fields terminated by ',';
Query OK, 83 rows affected (0.04 sec)
Records: 83  Deleted: 0  Skipped: 0  Warnings: 0
mysql> select count(*) from shi;
+----------+
| count(*) |
+----------+
|    83 |
+----------+


二、mysqlimport
mysqlimport是mysql的一个载入数据的一个非常有效的工具,有两个参数以及大量的选项可供选择。作用就是将纯数据的文本文件导入到指定的数据库和表中。
基本用法:
mysqlimport -u** -p** db_name data_file
注意: 要导入的数据文件data_file必须要在对应的数据库的目录下
常用选项:
-d or --delete 新数据导入表前删除表中原来的数据
-f or --force 不管是否遇到错误,都将强制插入数据
-i or --ignore 跳过或者忽略那些有相同唯一关键字的行
-l or --lock-tables 数据插入前锁住表
-r or --replace 与-i相反,此选项将替代表中有相同唯一关键字的记录


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
关系型数据库 MySQL 索引
MySQL的全文索引查询方法
【8月更文挑战第26天】MySQL的全文索引查询方法
39 0
|
2月前
|
存储 关系型数据库 MySQL
mysql数据库查询时用到的分页方法有哪些
【8月更文挑战第16天】在MySQL中,实现分页的主要方法包括:1)使用`LIMIT`子句,简单直接但随页数增加性能下降;2)通过子查询优化`LIMIT`分页,提高大页码时的查询效率;3)利用存储过程封装分页逻辑,便于复用但需额外维护;4)借助MySQL变量实现,可能提供更好的性能但实现较复杂。这些方法各有优缺点,可根据实际需求选择适用方案。
173 2
|
7天前
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
25 4
|
7天前
|
SQL 关系型数据库 MySQL
创建包含MySQL和SQLServer数据库所有字段类型的表的方法
创建一个既包含MySQL又包含SQL Server所有字段类型的表是一个复杂的任务,需要仔细地比较和转换数据类型。通过上述方法,可以在两个数据库系统之间建立起相互兼容的数据结构,为数据迁移和同步提供便利。这一过程不仅要考虑数据类型的直接对应,还要注意特定数据类型在不同系统中的表现差异,确保数据的一致性和完整性。
22 4
|
7天前
|
关系型数据库 MySQL Unix
MySQL配置不区分大小写的方法
结论 通过适当配置 lower_case_table_names参数以及在数据定义和查询中选择合适的校对规则,可以灵活地控制MySQL中的大小写敏感性,以适应不同的应用场景和需求。这样的设置既可以增加数据库的兼容性,又可以在必要时利用大小写敏感性进行精确的数据处理。需要注意的是,修改 lower_case_table_names参数后,最好在数据库初始化时进行,以避免现有表名的大小写问题。
25 3
|
15天前
|
存储 关系型数据库 MySQL
技术解析:MySQL中取最新一条重复数据的方法
以上提供的两种方法都可以有效地从MySQL数据库中提取每个类别最新的重复数据。选择哪种方法取决于具体的使用场景和MySQL版本。子查询加分组的方法兼容性更好,适用于所有版本的MySQL;而窗口函数方法代码更简洁,执行效率可能更高,但需要MySQL 8.0及以上版本。在实际应用中,应根据数据量大小、查询性能需求以及MySQL版本等因素综合考虑,选择最合适的实现方案。
80 6
|
14天前
|
存储 缓存 关系型数据库
MySQL 查询优化方法
在数据库应用中,高效的查询性能至关重要。本文探讨了常用的 MySQL 查询优化方法,包括索引优化(选择合适的索引字段、复合索引、定期维护索引)、查询语句优化(避免全表扫描、限制返回行数、避免使用不必要的函数)、表结构优化(选择合适的数据类型、分区表、定期清理无用数据)及数据库配置优化(调整缓存大小、优化存储引擎参数)。通过这些方法,可以显著提高 MySQL 的查询性能,为应用程序提供更好的用户体验。
|
27天前
|
SQL 关系型数据库 MySQL
学习MySQL操作的有效方法
学习MySQL操作的有效方法
33 3
|
2月前
|
安全 关系型数据库 MySQL
分享一个 MySQL 简单快速进行自动备份和还原的脚本和方法
分享一个 MySQL 简单快速进行自动备份和还原的脚本和方法
|
3月前
|
关系型数据库 MySQL 数据库
MySQL索引的类型与优化方法
MySQL索引的类型与优化方法
下一篇
无影云桌面