MySQL导入数据通常使用LOAD DATA INFILE
命令或者通过mysqlimport
工具来实现。以下是这两种方法的详细介绍:
LOAD DATA INFILE
命令LOAD DATA INFILE
是 MySQL 提供的一个用于从文本文件中快速导入数据的 SQL 命令。它的基本语法如下:
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
[REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char']
]
[LINES
[STARTING BY 'string']
[TERMINATED BY 'string']
]
[IGNORE number LINES]
[(col_name_or_user_var,...)]
[SET col_name = expr,...]
;
mysqlimport
工具mysqlimport
是一个命令行工具,它提供了与 LOAD DATA INFILE
类似的功能。基本语法如下:
mysqlimport [options] database textfile
常用的选项包括:
--fields-terminated-by
:指定字段分隔符。--lines-terminated-by
:指定行分隔符。--local
:从本地文件系统读取文件。--replace
和 --ignore
:处理冲突记录。这两种方法通常用于将大量数据从一个文本文件快速导入到 MySQL 数据库中。例如,在数据迁移、批量数据导入或数据备份恢复等场景中。
假设我们有一个名为 data.txt
的文本文件,内容如下:
1,John Doe,john@example.com
2,Jane Smith,jane@example.com
我们可以使用以下 SQL 命令将数据导入到名为 users
的表中:
LOAD DATA INFILE '/path/to/data.txt'
INTO TABLE users
FIELDS TERMINATED BY ','
LINES TERMINATED BY '
'
IGNORE 1 LINES;
或者使用 mysqlimport
工具:
mysqlimport --local --fields-terminated-by=',' --lines-terminated-by='
' --replace mydatabase /path/to/data.txt
注意:在实际使用中,请根据实际情况修改文件路径、数据库名称和表名称等参数。
领取专属 10元无门槛券
手把手带您无忧上云