mysqlimport常用参数:
–user=user_name, -u 连接到Mysql服务器的用户名
–password[=password], -p 密码
–host=hostname, -h 连接的MySQL服务器所在的主机
–port=port_num, -P 连接的TCP/IP端口号
–socket=path, -S 对于到主机的连接,Unix所使用的socket文件,Windows所使用的命名管道
–default-character-set=charset_name 默认字符集
–delete, -D 在导入文本文件前,先清空表,这个选项需谨慎
–force, -f 忽略错误。举例来说,如果文本文件中导入的部分内容和要导入的表不匹配,则导入操作会继续进行其他匹配部分的导入,不会终止;如果没有这个参数,则mysqlimport会退出导入
–ignore, -i 如果导入的过程中有重复值,则重复值会被跳过
–replace, -r 如果导入的过程中有重复值,则重复值会被覆盖
–local, -L 在客户端本地读取输入文件
–lock-tables, -l 在导入文本文件前,锁定所有要写入的表
–silent, -s 静默模式。只有发生错误,才会输出结果
–ignore-lines=N 跳过文本文件中的前N行记录
–use-threads=N 导入文本文件的时候,使用几个并行线程
–fields-terminated-by 导入的文本文件中的分隔符
–fields-enclosed-by 指定用于包含列值的符号,对于字符列,或者是字符中间包含列分隔符的场景比较有用
–导入示例
–查看导入文本文件中的内容,文本文件的名称与要导入的表名一致
[root@localhost fire]# cat /tmp/t_test.txt
10,ACCOUNTING,NEW YORK
20,RESEARCH,DALLAS
30,SALES,CHICAGO
40,OPERATIONS,BOSTON
50,MAINTENANCE,HULUDAO
–导入文本文件
[root@localhost fire]# /software/bin/mysqlimport -usystem -p”Mysql#2015″ -S /data/mysql.sock fire –default-character-set=gbk –fields-terminated-by=’,’ /tmp/t_test.txt
fire.t_test: Records: 5 Deleted: 0 Skipped: 0 Warnings: 0
–创建表
mysql> CREATE TABLE `t_test` (
-> `deptno` int(11) NOT NULL DEFAULT ‘0’,
-> `dname` varchar(15) NOT NULL,
-> `loc` varchar(15) NOT NULL
-> ) ENGINE=innodb DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.18 sec)
–查看导入的内容
mysql> select * from t_test;
+——–+————-+———–+
| deptno | dname | loc |
+——–+————-+———–+
| 10 | ACCOUNTING | NEW YORK
| 20 | RESEARCH | DALLAS
| 30 | SALES | CHICAGO
| 40 | OPERATIONS | BOSTON
| 50 | MAINTENANCE | HULUDAO
+——–+————-+———–+
5 rows in set (0.00 sec)