MySQL批量导入的sql语句
时间: 2024-06-15 10:01:38 浏览: 152
MySQL支持使用`LOAD DATA INFILE`语句来进行批量导入数据,这是一种非常高效的数据导入方法。该语句通常适用于从文本文件(如CSV、TAR、gzip压缩文件等)中导入数据。以下是基本的语法:
```sql
LOAD DATA INFILE 'file_path'
INTO TABLE table_name
FIELDS TERMINATED BY ',' -- 分隔符,默认是逗号
ENCLOSED BY '"' -- 如果字段值中有逗号或引号,用这个包围
LINES TERMINATED BY '\n' -- 行结束符,默认是换行符
IGNORE n LINES -- 忽略前n行,用于跳过表头或其他不包含数据的行
([optional_column_list]) -- 可选,指定哪些列导入
[CONCURRENT] -- 可选,提高性能,但可能影响一致性
[LOCAL] -- 可选,针对本地文件系统,提高速度
;
```
例如,假设你想从名为"data.csv"的CSV文件中导入数据到名为"employees"的表,你可以使用如下命令:
```sql
LOAD DATA INFILE '/path/to/data.csv'
INTO TABLE employees
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES; -- 忽略第一行,假设它是表头
```
注意:
1. 文件路径确保是正确的,并且有读取权限。
2. 数据类型和文件中的列顺序需要匹配,否则可能会导致导入失败。
3. 如果文件很大,可能需要考虑分批导入或使用其他工具如`mysqlimport`。
阅读全文