将csv文件导入到mysql数据库
将csv文件导入到mysql数据库
统一编码方式为utf-8,将csv文件编码方式设置为utf-8.在数据库中新建一个表,列属性和csv文件要相符,注意将**月**日等在csv中设置为日期格式,而不是字符串之类的,这样可以将时间等导入。
设置方式为选中时间列,右键表格属性,设置为日期就好了。
?
1 2 3 4 | LOAD DATA INFILE "**.csv" INTO TABLE XX CHARACTER SET utf8 FIELDS TERMINATED BY "," ; |
load data使用格式如下:
LOAD DATA [LOW_PRIORITY] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE]
INTO TABLE tbl_name
[FIELDS
[TERMINATED BY 't']
[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '' ]]
[LINES TERMINATED BY 'n']
[IGNORE number LINES]
[(col_name,...)]
其中,
LOW_PRIORITY
如果用户指定此关键词,LOAD DATA 语句的执行将会被延迟,直到没有其它的客户端正在读取表。
LOCAL
如果指定了LOCAL 关键字,它将对连接的客户端做出解释:
? 如果指定了LOCAL,客户端主机上的客户端组件读取文件并发送到服务器。可以给出文件的完整路径以确定其精确位置。如果给出的是相对路径,则文件名是相对于客户端组件启动时所在的目录。
? 如果没有指定LOCAL,文件是位于服务器的主机上,并且直接被服务器读龋
当从服务器主机定位文件时,服务器使用下列规则:
? 如果给定完整的路径,服务器使用该路径名。
? 如果给定一个或多个前置构件的相对路径,服务器以相对服务器的数据目录搜索文件。
? 如果给定没有前置构件的文件名,服务器从当前数据库的数据库目录搜寻文件。
--CHARACTER SET :mysql字符集,所指出被用来解释文件中的信息
--INTO TABLE :导入到哪个表
--FIELDS TERMINATED BY :以什么作为分割符
--ENCLOSED BY :被什么包围 (输出时需要)
csv,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。里面的数据以,分割,所以 FIELDS TERMINATED BY ","