来源:自学PHP网 时间:2015-04-16 10:50 作者: 阅读:次
[导读] LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中。1、基本语法LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 39;file_name txt 39; [REPLACE | IGNORE]...
LOAD DATA INFILE语句从一个文本文件中以很高的速度读入一个表中。 1、基本语法 LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO TABLE tbl_name [FIELDS [TERMINATED BY 'string'] [[OPTIONALLY] ENCLOSED BY 'char'] [ESCAPED BY 'char' ] ] [LINES [STARTING BY 'string'] [TERMINATED BY 'string'] ] [IGNORE number LINES] [(col_name_or_user_var,...)] [SET col_name = expr,...]]2、参数说明 OW_PRIORITY:如果你指定关键词low_priority,那么MySQL将会等到没有其他人读这个表的时候,才把插入数据。案例: load data low_priority infile "/home/mark/data sql" into table Orders;LOCAL:如果指定local关键词,则表明从客户主机读文件。如果local没指定,文件必须位于服务器上。 CONCURRENT:则当LOAD DATA 正在执行时,其它线程会从表中重新获取数据。即使没有其它线程在同时使用本表格,使用本选项也会略微影响LOAD DATA 的性能。 EPLACE 和IGNORE :关键字处理那些与已存在的主键值重复的输入记录。如果指定了REPLACE,输入行将会代替已存在的行(也就是说,主索引值相同的行将作为存在的行)。参考REPLACE 语法 。如果指定了IGNORE,与已存在行主键值重复的输入行将被跳过。如果不指定二者中的任一个,则操作行为将依赖是否指定了LOCAL 关键字。没有指定LOCAL,则如果发现有重复的键值,将产生一个错误,并忽略文本文件的其余部分。 terminated by:意思是以什么字符作为分隔符,默认情况下是tab字符(\t),例如:TERMINATED BY '\t' Load Data InFile 'C:/Data.txt' Into Table `TableTest` Fields Terminated By ',' Enclosed By '"' Escaped By '"' Lines Terminated By '\r\n';Fields Terminated By ',' Enclosed By '"' Escaped By '"' 表示每个字段用逗号分开,内容包含在双引号内 Lines Terminated By '\r\n'; LINES TERMINATED:指定了每条记录的分隔符,默认为'\n'为换行符。 IGNORE number LINES:这个选项可以用来忽略文件开头部分的行。例如,可以用IGNORE 1 LINES 来跳过含有列名的的头一行: LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES; col_name_or_user_var:表示数据表字段: SET col_name = expr:提供不是来源于输入文件的值。 LOAD DATA INFILE 'file.txt' INTO TABLE t1 (column1, column2) SET column3 = CURRENT_TIMESTAMP;3、其他说明 如果希望装载操作中忽略外键约束,可以在执行LOAD DATA 之前执行SET FOREIGN_KEY_CHECKS=0 语句。 如果用户在一个空的 ceshi 表上使用LOAD DATA INFILE,所有非唯一索引会以分批方式被创建(就像REPAIR)。当有许多索引时,这通常可以使LOAD DATA INFILE 更快一些。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com