load data local infile
发财
基本语法:
load data [low_priority] [local] infile '文件名称' [replace替换策略 | ignore忽略策略]
into table 表名称
[fields
[terminated by't',字段分隔符设置,默认值为制表符“\t”]
[optionally] enclosed by '',字符串括起符设置]
[escaped by'\' ],转义字符设置,默认值为反斜线“\”]
[lines terminated by'n',行分隔符设置,设置每行数据结尾的字符,可以为单个或多个字符,默认值为“\n”]
[ignore number lines,忽略掉哪些行,表示可以忽略前n行]
[(col_name,列名称列表设置 )]
########################################################################################################
load data [low_priority | concurrent] [local] infile 'file_name'
[replace | ignore]
into table tbl_name
[partition (partition_name,...)]
[character set charset_name]
[{fields | columns}
[terminated by 'string']
[[optionally] enclosed by 'char']
[escaped by 'char']
]
[lines
[starting by 'string']
[terminated by 'string']
]
[ignore number {lines | rows}]
[(col_name_or_user_var,...)]
[set col_name = expr,...]
########################################################################################################
一,将excel格式的数据另存为csv格式,且逗号分隔,且数据文件中必须是全都是数据,不需要将表的名称和字段写在开头,且为utf-8格式 导入数据为:data.txt 1,glc,20,hubei 2,wjl,10,jiangsu 3,zd,5,shanghai ############################################################## 在data.txt文件所在目录登录mysql数据库后执行如下语句 > load data local infile 'data.txt' replace into table table_name character set utf8 fields terminated by ',' lines terminated by '\n' (id,name,age,address); 注意: 1、不要写成:load local data infile,这样写了就会报错的。这是在mysql客户端上进行导入数据,如果在服务器本地上导入,则可以直接写成:load data infile,建议在客户端操作。 2、(id,name,age,address),这个是表对应的字段名称,这个需要和data.txt文件里面的数据一一对应。 3、fields terminated by ',' ,这个表示字段数据之间用逗号分隔。 4、lines terminated by '\n',这个表示每行数据之间的分隔符为换行符号。 5、若字符串用双引号括起来,则需要指定字符串括起符号,但是位置却不是随便放,需要放在fields terminated by和lines terminated by之间。如下:
6、replace和ignore,针对唯一索引的冲突解决方案:replace表示若表中已经存在则用新的数据替换掉旧的数据,而ignore则表示保留旧的数据,忽略掉新数据。
7、enclosed by=字符:设置字符来括住字段的值,只能为单个字符。 load data local infile 'data.txt' replace into table table_name fields terminated by ',' enclosed by '"' lines terminated by '\n' (id,name);
load data local infile 'data.txt' ignore into table table_name fields terminated by ',' enclosed by '"' lines terminated by '\n' (id,name);
windows上的换行符为:LINES TERMINATED BY '\r\n'; macOS上的换行符为:LINES TERMINATED BY '\r';
################################
igoodful@qq.com