Home  >  Article  >  Database  >  使用mysqlimport 将格式化文件导入MySQL表

使用mysqlimport 将格式化文件导入MySQL表

WBOY
WBOYOriginal
2016-06-07 17:11:181152browse

mysql有可执行文件mysqlimport,还有一个mysql命令中的load data,这两个命令可以从文件中把格式化的数据导入数据库,如果有一个

创建表Spam



看一下要插入的数据文件



mysqlimport的用法如下:

的数据表中

而且Spam.txt文件必须在 /usr/local/mysql/var/Statistic/ 目录下【即/usr/local/mysql/var/库/】

刚开始的时候没注意文件的路径,返回以下错误:

[root@mx1 /tmp/KevinShell/statistic]# /usr/local/mysql/bin/mysqlimport -uUSER -pPASSWD -hlocalhost -P3306 Statistic Spam.txt
/usr/local/mysql/bin/mysqlimport: Error: File '/usr/local/mysql/var/Statistic/Spam.txt' not found (Errcode: 2), when using table: Spam


之后又做了纠正,成功插入数据

[root@mx1 /tmp/KevinShell/statistic]# cp Spam.txt /usr/local/mysql/var/Statistic/
[root@mx1 /tmp/KevinShell/statistic]# /usr/local/mysql/bin/mysqlimport -uUSER -pPASSWD -hlocalhost -P3306 Statistic Spam.txt


再次查看一下表Spam,已经将数据成功插入,而且与Spam.txt文件中的数据是一样的



   下面介绍一些mysqlimport常用到的选项

定义被导入文件中的每一列对应的数据库表列名

--fields-terminated-by=

数据域以什么结束,参数为字符串,默认为\t

--fields-enclosed-by=

数据域用什么符号扩起来,默认为空,一般可以是双引号、括号等

--fields-optionally-enclosed-by=

数据域可以用什么符号括起来,因为为只有部分数据用这些符号括起来

--fields-escaped-by=

转义字符,参数为字符,默认为\

--lines-terminated-by=

--user=user_name -u user_name

--password[=password] -p[password]

--host=host_name -h hostname

--ignore-lines=n

--delete -D

在把文件中的数据插入前删除表中原先的数据

--local -L

指定从客户端电脑读入数据文件,,否则从服务器电脑读取

--protocol={TCP | SOCKET | PIPE | MEMORY}

使用的连接协议

忽视错误。例如,如果某个文本文件的表不存在,继续处理其它文件

--compress -C

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

冗长模式。打印出程序操作的详细信息。

显示版本信息并退出。

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn