在MySQL中,使用LOAD DATA LOCAL命令可以将数据从本地的文件导入到数据库里面。常见的导入数据格式是csv和txt。
但是在导入csv和txt格式的数据时,第一行通常是表头,而不是数据,因此我们需要跳过第一行,只导入后面的数据。
阅读更多:MySQL 教程
方法一:使用IGNORE关键字
LOAD DATA LOCAL命令支持IGNORE关键字,可以忽略文件开头的行数。我们可以使用以下命令来跳过第一行:
LOAD DATA LOCAL INFILE 'data.csv' INTO TABLE mytable IGNORE 1 LINES;
SQL
其中,IGNORE 1 LINES表示忽略文件的第一行。
方法二:使用SET关键字
LOAD DATA LOCAL命令也支持SET关键字,可以为导入的每一列设置一个值。我们可以使用以下命令来设置第一行:
LOAD DATA LOCAL INFILE 'data.csv' INTO TABLE mytable
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(column1, @var1, column2)
SET column1 = NULLIF(@var1, '');
SQL
其中,@var1
是一个变量,用来存储第一列的值,NULLIF
函数用来将值转换为空值。
示例
假设我们有以下csv文件(data.csv):
name,age,gender
Tom,20,M
Mary,18,F
John,22,M
Mysql
我们想要将数据导入到MySQL的mytable表中,并跳过第一行的表头。我们可以使用以下命令:
LOAD DATA LOCAL INFILE 'data.csv' INTO TABLE mytable
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
SQL
这个命令将会将Tom、Mary和John的数据导入到mytable表中。
标签:LOAD,第一行,DATA,IGNORE,MySQL,csv,LOCAL From: https://www.cnblogs.com/zhangq/p/17883681.html