共计 1455 个字符,预计需要花费 4 分钟才能阅读完成。
自动写代码机器人,免费开通
这篇文章给大家介绍 Mysql 中有哪些导出数据的方式,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
具体语法如下:
【select 语句】into outfile【导出文件名】【导出参数】
【select 语句】是经典的查询 SQL,可以指定列、可以有 where 条件、group、order、limit 等。
【导出文件名】是目标文件的完整路径。由于 mysql 账户的权限问题,通常我们会将文件导出到临时目录,如 /tmp/mysql/user/201810.csv
【导出参数】
fields terminated by str:设置字段之间的分隔符,默认值是 \t。
fields enclosed by char:设置包括住字段的值的符号,如单引号、双引号等,默认情况下不使用任何符号。
fields optionally enclosed by char:设置括住 CHAR、VARCHAR 和 TEXT 等字符型字段的分隔符,默认情况下不使用任何符号。
fields escaped by char:设置转义字符,默认值为 \。
lines starting by str:设置每行数据开头的字符,可以为单个或多个字符。默认情况下不使用任何字符。
lines terminated by char:设置每行数据结尾的字符,可以为单个或多个字符。默认值是 \n。
譬如:
select * from platform_user into outfile /tmp/mysql/user/201810.csv
fields terminated by ,
enclosed by
lines starting by \r
terminated by \n
如果导出的数据,涉及到中文,打开 csv 可能会看到乱码。处理乱码,首先要确保数据库支持中文(通常设置 UTF8 编码即可)
vim /etc/my.cnf, 添加如下几个选项:
[client]
default-character-set=utf8
[mysqld]
character_set_server=utf8
[mysql]
default-character-set=utf8
即便数据库已经是 utf8,导出的文件 download 本地依然可能有乱码,在服务器上 less,tail 看到的结果都是正常的?
在本地环境(windows)用记事本打开 csv,另存编码格式 ANSI 即可,这是由于 excel 的编码格式决定的。
Part2 mysqldump 导出数据
作为开发人员或者运维人员,mysqldump 使用的频率更高,因为它能做的事情更多。mysqldump 属于逻辑备份工具,因为它导出的是结果,多以 SQL 的形式展示,并不记录数据的变化过程。关于物理备份,可以参照一本名为“MySQL 技术内幕”的书籍,其中有详细的描述。
mysqldump 的语法很简单,即
mysqldump 【options】 dump.sql
但是 options 的可选参数却很多,手册上将他分了几大类,链接 option、文件 option、数据定义 DDL option、Debug option、国际化 option、集群 Replication option、格式 option、性能 option、事务 option 等。感兴趣的同学可以参照 MYSQL 官方手册的定义,这里仅介绍几种常见的应用场景。
关于 Mysql 中有哪些导出数据的方式就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
向 AI 问一下细节