查看“使用mysqldump以分隔文本格式导出数据”的源代码
←
使用mysqldump以分隔文本格式导出数据
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
这节介绍了如何使用mysqldump创建分隔文本格式的转储文件。 如果您使用--tab=dir_name选项调用mysqldump,它将使用dir_name作为输出目录,并在该目录中单独为每个表创建两个文件进行转储。表名是这些文件的基本名称。对于名为t1的表,文件的名称分别为t1.sql和t1.txt。.sql文件包含表的CREATE TABLE语句,.txt文件包含表数据,每行一个表行。 以下命令将db1数据库的内容转储到/tmp数据库中的文件中: $> mysqldump --tab=/tmp db1 包含表数据的.txt文件由服务器编写,因此它们由用于运行服务器的系统帐户拥有。服务器使用SELECT ... INTO OUTFILE来编写文件,因此您必须具备FILE特权才能执行此操作,如果给定的.txt文件已存在,则会出现错误。 服务器将转储表的CREATE定义发送给mysqldump,mysqldump将它们写入.sql文件。因此,这些文件的所有者是执行mysqldump的用户。 最好只使用--tab来转储本地服务器。如果您将其用于远程服务器,那么--tab目录必须同时存在于本地和远程主机上,.txt文件将由服务器在远程目录(服务器主机上)中编写,而.sql文件将由mysqldump在本地目录(客户端主机上)中编写。 对于mysqldump --tab,服务器默认将表数据写入.txt文件,每行一行,列值之间用制表符分隔,列值周围没有引号,并将换行符作为行终止符。(这些与SELECT ... INTO OUTFILE的默认设置相同。) 为了支持使用不同的格式写入数据文件,mysqldump提供了以下选项: *--fields-terminated-by=str 用于分隔列值的字符串(默认为制表符)。 *--fields-enclosed-by=char 用于将列值括起来的字符(默认为没有字符)。 *--fields-optionally-enclosed-by=char 用于将非数字列值括起来的字符(默认为没有字符)。 *--fields-escaped-by=char 用于转义特殊字符的字符(默认为不转义)。 *--lines-terminated-by=str 行终止字符串(默认为换行符)。 根据您为这些选项指定的值,可能需要在命令行中适当地引用或转义该值以适应您的命令解释器。或者,可以使用十六进制表示法指定该值。假设您希望mysqldump在双引号内引用列值。为此,请将双引号作为--fields-enclosed-by选项的值。但是,这个字符对于命令解释器来说通常是特殊的,需要特殊处理。例如,在Unix上,您可以像这样引用双引号: *--fields-enclosed-by='"' 在任何平台上,您都可以使用十六进制指定该值: *--fields-enclosed-by=0x22 通常会同时使用多个数据格式选项。例如,要以逗号分隔值格式,并以回车/换行对(\r\n)终止行的方式转储表,请使用以下命令(将其输入为单行): $> mysqldump --tab=/tmp --fields-terminated-by=, --fields-enclosed-by='"' --lines-terminated-by=0x0d0a db1 如果您在转储表数据时使用了任何数据格式选项,您需要在以后重新加载数据文件时指定相同的格式,以确保正确解释文件内容。
返回至“
使用mysqldump以分隔文本格式导出数据
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息