13.4 表的导出和导入
13.4.1 使用SELECT ... INTO OUTFILE导出文本文件
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注意:
FITLDS与LINES都是自选添加,如果都有,FITLDS再前,LINES在后
SELECT * FROM test INTO OUTFILE "E:\rest.txt"13.4.2 使用MySQLdump命令导出文本文件
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方式导入文本文件
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命令导入文本文件
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:显示版本信息并退出
最后更新于
这有帮助吗?