MYSQL使用LOAD DATA INFILE导入数据
LOAD DATA INFILE 语句用于从文本文件中加载数据到数据库表中。这个语句通常比使用 INSERT INTO … VALUES 语句快得多,特别是在需要加载大量数据时。
LOAD DATA INFILE 'file_name'
INTO TABLE table_name
[CHARACTER SET charset_name]
[FIELDS
[TERMINATED BY 'delimiter']
[[OPTIONALLY] ENCLOSED BY 'enclosure']
[ESCAPED BY 'escape_char']
]
[LINES
[STARTING BY 'start_char']
[TERMINATED BY 'end_char']
]
[IGNORE number LINES]
[(column1, column2, ...)];
file_name 是包含数据的文本文件的路径。
table_name 是要加载数据的目标表。
CHARACTER SET charset_name 是可选的,用于指定文件的字符集。
FIELDS 子句用于指定字段的分隔符、引用符和转义符。
LINES 子句用于指定行的分隔符。
IGNORE number LINES 可以用来指定要忽略的起始行数。
(column1, column2, ...) 是可选的,用于指定要插入数据的列,如果不指定,将按照表中列的顺序插入数据
# 举例
LOAD DATA INFILE '/path/to/data.csv'
INTO TABLE my_table
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
# 特别注意,5.6版本后的mysql需要特别配置
# my.cnf或者my.ini配置文件添加如下代码
secure-file-priv=""