13.4 表的导出和导入

13.4.1 使用SELECT ... INTO OUTFILE导出文本文件

SELECT columnlist FROM table WHERE condition INTO OUTFILE 'filename' [OPTIONS]

备注:结果返回一个或多个符合条件的记录,导出到一个名为filename的文件中,前提是这个名字的文件不存在

备注2:OPTIONS可选项:

FIELDS TERMINATED BY 'value':设置字段之间的分隔字符,可以是单个或多个,默认\t

FIELDS [OPTIONALLY] ENCLOSED BY 'value':设置字段的包围字符,只能为单个字符;如果启用了OPTIONALLY,则只有CHAR和VARCHAR这类字符数据字段被包括

FIELDS ESCAPED BY 'value':设置如何写入或读取特殊字符,只能为单个字符,即设置转义字符,默认值'\'

LINES STARTING BY 'value':设置每行数据的开头字符,可以为单个或多个字符,默认情况下不使用任何字符

LINES TERMINATED BY 'value':设置每行数据的结尾字符,可以为单个或多个字符,默认\n

注意:FITLDSLINES都是自选添加,如果都有,FITLDS再前,LINES在后

SELECT * FROM test INTO OUTFILE "E:\rest.txt"

13.4.2 使用MySQLdump命令导出文本文件

mysqldump -T path -u root -p dbname [tables] [OPTIONS]

备注:-T表示导出纯文本文件,path表示导出数据的目录,tables为指定要导出的表名,不指定查询所有表的数据

备注2:OPTIONS可选项:

--fields-terminated-by=value:设置字段之间的分割字符,可以为单个或多个字符,默认\t

--fields-enclosed-by=value:设置字段的包围字符

--fields-optionally-enclosed-by=value:设置字段的包围字符,只能为单个字符;只有CHAR和VARCHAR这类字符数据字段被包括

--fields-escaped-by=value:控制如何写入或读取特殊字符,只能为单个字符,即设置转义字符,默认\

--lines-terminated-by=value:设置每行数据结尾的字符,可以为单个字符或多个字符,默认\n

13.4.3 使用MySQL命令导出文本文件

语法:

举例:

显示结果:

转出到html:

转出到xml:

13.4.4 使用LOAD DATA INFILE方式导入文本文件

备注:filename.txt表示来源,tablename表示导入的数据表名

备注2:OPTIONS可选项:

FIELDS TERMINATED BY 'value':设置字段之间的分隔字符,可以是单个或多个,默认\t

FIELDS [OPTIONALLY] ENCLOSED BY 'value':设置字段的包围字符,只能为单个字符;如果启用了OPTIONALLY,则只有CHAR和VARCHAR这类字符数据字段被包括

FIELDS ESCAPED BY 'value':设置如何写入或读取特殊字符,只能为单个字符,即设置转义字符,默认值'\'

LINES STARTING BY 'value':设置每行数据的开头字符,可以为单个或多个字符,默认情况下不使用任何字符

LINES TERMINATED BY 'value':设置每行数据的结尾字符,可以为单个或多个字符,默认\n

备注3:IGNORE number LINES表示忽略文件开始处的函数,number表示忽略的行数,执行需要FILE权限

13.4.5 使用MySQLimport命令导入文本文件

备注:dbname为导入表所在数据库名

备注2:OPTIONS可选项:

--fields-terminated-by=value:设置字段之间的分割字符,可以为单个或多个字符,默认\t

--fields-enclosed-by=value:设置字段的包围字符

--fields-optionally-enclosed-by=value:设置字段的包围字符,只能为单个字符;只有CHAR和VARCHAR这类字符数据字段被包括

--fields-escaped-by=value:控制如何写入或读取特殊字符,只能为单个字符,即设置转义字符,默认\

--lines-terminated-by=value:设置每行数据结尾的字符,可以为单个字符或多个字符,默认\n

--ignore-lines=n:忽视数据文件的前n行

备注3:其他选项:

--columns=column_list, -c column_list:该选项采用逗号分隔的列名作为其值。列名的顺序指示如何匹配数据文件列和表列

--compress, -C:压缩在客户端和服务器之间发送的所有信息(如果二者均支持压缩)

-d, --delete:导入文件前清空表

--force, -f:忽视错误

--host=host_name, -h host_name:将数据导入给定主机上的MySQL服务器,默认localhost

--ignore,-i:参见--replace选项描述

--ignore-lines=n:忽视数据文件的前n行

--local, -L:从本地客户端读取输入文件

--lock-tables,-l:处理文本文件前锁定所有表以便写入

--password[=password], -p[password]:连接服务器时使用密码

--port=port_num,-P port_num:用于连接TCP/IP的端口号

--protocol={TCP|SOCKET|PIPE|MEMORY}:使用的连接协议

--replace, -r:和-i选项控制复制唯一键值已有记录的输入记录的处理,-r是替换,-i是跳过,不指定,报错并退出

--silent, -s:沉默模式,只有错误才输出信息

--user=user_name, -u user_name:当连接服务器时候MySQL使用的用户名

--verbose -v:冗长模式,打印详细操作信息

--version -V:显示版本信息并退出

最后更新于

这有帮助吗?