8.10. mysqlimport:数据导入程序 - MySQL 中文手册

返回介绍

8.10. mysqlimport:数据导入程序

发布于 2019-06-13 字数 3825 浏览 972 评论 0

mysqlimport客户端提供了LOAD DATA INFILEQL语句的一个命令行接口。mysqlimport的大多数选项直接对应LOAD DATA INFILE子句。参见13.2.5节,“LOAD DATA INFILE语法”。

这样调用mysqlimport

shell> mysqlimport [options] db_name textfile1 [textfile2 ...]

对于在命令行中命名的每个文本文件,mysqlimport去掉文件名的扩展名并使用结果来确定将导入文件内容的表名。例如,文件 patient.txt、patient.text和patient均将导入表patient。

mysqlimport支持下面的选项:

·—help,-?

显示帮助消息并退出。

·–columns=column_list,-c column_list

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

·–compress,-C

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

·—debug[=debug_options],-# [debug_options]

写调试日志。debug_options字符串通常是'd:t:o,file_name'。

·–delete,-D

导入文本文件前清空表。

·–fields-terminated-by=…,–fields-enclosed-by=…,–fields-optionally-enclosed-by=…,–fields-escaped-by=…,–lines-terminated-by=…

这些选项与LOAD DATA INFILE相应子句的含义相同。参见13.2.5节,“LOAD DATA INFILE语法”。

·–force,-f

忽视错误。例如,如果某个文本文件的表不存在,继续处理其它文件。不使用–force,如果表不存在则mysqlimport退出。

·–host=host_name,-hhost_name

将数据导入给定主机上的MySQL服务器。默认主机是localhost。

·–ignore,-i

参见–replace选项的描述。

·–ignore-lines=n

忽视数据文件的前n行。

·–local,-L

从本地客户端读入输入文件。

·–lock-tables,-l

处理文本文件前锁定所有表以便写入。这样可以确保所有表在服务器上保持同步。

·–password[=password],-p[password]

当连接服务器时使用的密码。如果使用短选项形式(-p),选项和密码之间不能有空格。如果在命令行中–password或-p选项后面没有密码值,则提示输入一个密码。

·–port=port_num,-P port_num

用于连接的TCP/IP端口号。

·–protocol={TCP | SOCKET | PIPE | MEMORY}

使用的连接协议。

·–replace,-r

–replace和–ignore选项控制复制唯一键值已有记录的输入记录的处理。如果指定–replace,新行替换有相同的唯一键值的已有行。如果指定–ignore,复制已有的唯一键值的输入行被跳过。如果不指定这两个选项,当发现一个复制键值时会出现一个错误,并且忽视文本文件的剩余部分。

·–silent,-s

沉默模式。只有出现错误时才输出。

·–socket=path,-Spath

当连接localhost时使用的套接字文件(为默认主机)。

·–user=user_name,-uuser_name

当连接服务器时MySQL使用的用户名。

·–verbose,-v

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

·–version,-V

显示版本信息并退出。

这里是一个示例会话,显示如何使用mysqlimport

shell> mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test
shell> ed
a
100     Max Sydow
101     Count Dracula
.
w imptest.txt
32
q
shell> od -c imptest.txt
0000000   1   0   0  \t   M   a   x       S   y   d   o   w  \n   1   0
0000020   1  \t   C   o   u   n   t       D   r   a   c   u   l   a  \n
0000040
shell> mysqlimport --local test imptest.txt
test.imptest: Records: 2  Deleted: 0  Skipped: 0  Warnings: 0
shell> mysql -e 'SELECT * FROM imptest' test
+------+---------------+
| id   | n     |
+------+---------------+
|  100 | Max Sydow     |
|  101 | Count Dracula |
+------+---------------+

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!