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

WBOY
リリース: 2016-06-07 17:11:18
オリジナル
1189 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート