欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql使用sql语句导入csv格式文件的操作教程

程序员文章站 2022-03-10 18:33:02
使用下列语句进行导入数据:(windows环境下,如果为linux环境,最后一个换行符应改为‘\n’) load data infile 'c:/test1.cs...

使用下列语句进行导入数据:(windows环境下,如果为linux环境,最后一个换行符应改为‘\n’)

load data infile 'c:/test1.csv' 
into table table_name 
fields terminated by ',' 
optionally enclosed by '"' 
escaped by ',' 
lines terminated by '\r\n'
ignore 1 lines;

以上是一句sql,太长了所以我按行分开了

1.load data infile语句从一个文本文件中以很高的速度读入一个表中。

2.csv文件中,域一般用逗号分隔(即fields terminated by ','),域的字段值一般用一对双引号包裹(即optionally enclosed by '"'有时候是个带双引号的字符串,根据不同csv再进行修改,也可以删除此句),换行一般用‘\r\n’(windows下即lines terminated by '\r\n')。一般情况下,csv文件中第一行一般是每列属性的名称,因此在导入时应省略第一行(即 ignore 1 lines;也可省略不写)

3.

escaped by

分为两种情况,

escaped by','

escaped by'"'

一般escaped by','与lines terminated by '\r\n'有对应关系,如果用escaped by'"',即引号分隔,则只有将lines terminated by改成'\n'才能导入,并且此时不能ignore 1 lines.

terminated by分隔符:意思是以什么字符作为分隔符

enclosed by字段括起字符

escaped by转义字符

terminated by描述字段的分隔符,默认情况下是tab字符(\t)

enclosed by描述的是字段的括起字符。

escaped by描述的转义字符。默认的是反斜杠(backslash:\ )