文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 参考手册  /  ...  /  mysqlimport — 数据导入程序

6.5.5 mysqlimport — 数据导入程序

mysqlimport 客户端为 LOAD DATA SQL 语句提供了命令行界面。 mysqlimport 的大多数选项直接对应于 LOAD DATA 语法的子句。参见 第 15.2.9 节,“LOAD DATA 语句”.

像这样调用 mysqlimport

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

对于命令行上命名的每个文本文件,mysqlimport 会从文件名中剥离任何扩展名,并将结果用于确定要将文件内容导入到的表的名称。例如,名为 patient.txtpatient.textpatient 的文件都将被导入到名为 patient 的表中。

mysqlimport 支持以下选项,这些选项可以在命令行或选项文件中的 [mysqlimport][client] 组中指定。有关 MySQL 程序使用的选项文件的更多信息,请参见 第 6.2.2.2 节,“使用选项文件”.

表 6.14 mysqlimport 选项

选项名称 描述
--bind-address 使用指定的网络接口连接到 MySQL 服务器
--character-sets-dir 可以找到字符集的目录
--columns 此选项将逗号分隔的列名列表作为其值
--compress 压缩客户端和服务器之间发送的所有信息
--compression-algorithms 允许用于连接到服务器的压缩算法
--debug 写入调试日志
--debug-check 程序退出时打印调试信息
--debug-info 程序退出时打印调试信息、内存和 CPU 统计信息
--default-character-set 指定默认字符集
--defaults-extra-file 除了通常的选项文件外,还要读取命名的选项文件
--defaults-file 仅读取命名的选项文件
--defaults-group-suffix 选项组后缀值
--delete 在导入文本文件之前清空表
--enable-cleartext-plugin 启用明文身份验证插件
--fields-enclosed-by 此选项与 LOAD DATA 的相应子句具有相同的含义
--fields-escaped-by 此选项与 LOAD DATA 的相应子句具有相同的含义
--fields-optionally-enclosed-by 此选项与 LOAD DATA 的相应子句具有相同的含义
--fields-terminated-by 此选项与 LOAD DATA 的相应子句具有相同的含义
--force 即使发生 SQL 错误,也要继续
--get-server-public-key 从服务器请求 RSA 公钥
--help 显示帮助消息并退出
--host MySQL 服务器所在的地址
--ignore 参见 --replace 选项的描述
--ignore-lines 忽略数据文件的前 N 行
--lines-terminated-by 此选项与 LOAD DATA 的相应子句具有相同的含义
--local 从客户端主机本地读取输入文件
--lock-tables 在处理任何文本文件之前锁定所有表以进行写入
--login-path 从 .mylogin.cnf 读取登录路径选项
--low-priority 加载表时使用 LOW_PRIORITY
--no-defaults 不读取任何选项文件
--no-login-paths 不从登录路径文件读取登录路径
--password 连接到服务器时要使用的密码
--password1 连接到服务器时要使用的第一个多因素身份验证密码
--password2 连接到服务器时要使用的第二个多因素身份验证密码
--password3 连接到服务器时要使用的第三个多因素身份验证密码
--pipe 使用命名管道连接到服务器(仅限 Windows)
--port 连接的 TCP/IP 端口号
--print-defaults 打印默认选项
--protocol 要使用的传输协议
--replace --replace 和 --ignore 选项控制处理在唯一键值上重复现有行的输入行
--server-public-key-path 包含 RSA 公钥的文件的路径名
--shared-memory-base-name 用于共享内存连接的共享内存名称(仅限 Windows)
--silent 仅在发生错误时产生输出
--socket 要使用的 Unix 套接字文件或 Windows 命名管道
--ssl-ca 包含受信任的 SSL 证书颁发机构列表的文件
--ssl-capath 包含受信任的 SSL 证书颁发机构证书文件的目录
--ssl-cert 包含 X.509 证书的文件
--ssl-cipher 允许用于连接加密的密码
--ssl-fips-mode 是否在客户端启用 FIPS 模式
--ssl-key 包含 X.509 密钥的文件
--ssl-mode 连接到服务器所需的安全性状态
--ssl-session-data 包含 SSL 会话数据的文件
--ssl-session-data-continue-on-failed-reuse 如果会话重用失败,是否建立连接
--tls-ciphersuites 允许用于加密连接的 TLSv1.3 密码套件
--tls-sni-servername 客户端提供的服务器名称
--tls-version 允许用于加密连接的 TLS 协议
--use-threads 用于并行文件加载的线程数
--user 连接到服务器时要使用的 MySQL 用户名
--verbose 详细模式
--version 显示版本信息并退出
--zstd-compression-level 使用 zstd 压缩连接到服务器的压缩级别

以下是一个示例会话,演示了 mysqlimport 的使用。

$> mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test
$> ed
a
100     Max Sydow
101     Count Dracula
.
w imptest.txt
32
q
$> 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
$> mysqlimport --local test imptest.txt
test.imptest: Records: 2  Deleted: 0  Skipped: 0  Warnings: 0
$> mysql -e 'SELECT * FROM imptest' test
+------+---------------+
| id   | n             |
+------+---------------+
|  100 | Max Sydow     |
|  101 | Count Dracula |
+------+---------------+