mysqlload一键导入数据

来源:互联网 发布:艾斯宾浩记忆曲线软件 编辑:程序博客网 时间:2024/05/23 12:00
参考mysql中文API

13.2.5. LOAD DATA INFILE语法

语法
load  data local infile 'filename.txt' into table tablename;

注意三个问题
1 路径 local表示文件在客户端本机上,不加则是在服务器主机上,这个时候访问需要有file权限,本人没试过,
本人是把本地文件导入数据库中,文件名用绝对路径,注意windows下一个正斜杠或用两个反斜杠

2字段、行间分隔
mysql原文

每个亚子句(TERMINATED BY, [OPTIONALLY] ENCLOSED BY和ESCAPED BY)也是自选的。不过,您必须指定其中至少一个。

如果您不指定FIELDS子句,则默认值为假设您写下如下语句时的值:

FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
就是字段制表符间隔,字段由空字符窜包围,双反斜杠转义

行间距有‘\r’回车,‘\n’换行,本人是用的‘\n’

3根据上面描述写load语句,虽然可以录入,但是不能正确录入格式,会出现warn,show warnings,提示1366错误。即编码问题
本人数据库中utf8编码,相应的文件也需设置成utf8
完成上面三步,写load语句
load data local infile' c:\city.txt' into table city lines terminated by '\n' ignore 1 lines;
数据导入ok!

导入部分数据
语法,mysql文档原文
mysql> LOAD DATA INFILE 'persondata.txt'
    ->           INTO TABLE persondata (col1,col2,...);
本人例子
load data local infile 'C:/area.txt' into table area(areaId,areaName,cityId);

导入数据的时候可能遇到外键约束,可以取消外键约束
SET FOREIGN_KEY_CHECKS=0

在维护MySQL数据库时,经常会受到外键约束的影响。

-- 关闭外键约束检查
SET @ORIG_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;

-- 开启外键约束检查
SET FOREIGN_KEY_CHECKS=@ORIG_FOREIGN_KEY_CHECKS;



0 0
原创粉丝点击