网站地图    收藏   

主页 > 后端 > mysql数据库 >

mysql批量导入已经格式好的文本数据 - mysql数据库

来源:自学PHP网    时间:2015-04-16 10:50 作者: 阅读:

[导读] 语法:LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 39;file_name 39; [REPLACE | IGNORE] INTO TABLE tbl_name [CHARACTER SET charset_name] [FIE...

语法:
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name'
    [REPLACE | IGNORE]
    INTO TABLE tbl_name
    [CHARACTER SET charset_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,...]

导入表中的某一列数据

数据格式:
北京
上海
深圳
广州
长沙
郑州
合肥
西安
南昌
南京
杭州
成都

sql代码:
LOAD DATA LOCAL INFILE 'C:\\Users\\XXX\\Desktop\\code.txt'
INTO TABLE sys_sensitiveword_t(cityname);

导入整个表数据

创建stu表:
create table stu_other(id int auto_increment primary key,stu_name varchar(50),age int);
然后创建一个文本文件“stu.txt”,每行包含一个记录,放在C盘的根目录下。默认的字段分隔符是(tab),你可以更改,下面说明。并且以CREATE TABLE语句中列出的列次序给出。对于丢失的值(例如未知的性别,或仍然活着的动物的死亡日期),你可以使用NULL值。为了在你的文本文件中表示这些内容,使用/N(反斜线,字母N)。 如stu.txt的内容如下:
100001    FLB100001     100001
100002    FLB100002     100002
100003    FLB100003     100003
100004    FLB100004     100004
100005    FLB100005     100005
100006    FLB100006     100006
100007    FLB100007     100007
100008    FLB100008     100008

这里我用的是table分开。 要想将文本文件“stu.txt”装载到stu表中,使用这个命令:
LOAD DATA LOCAL INFILE 'c://stu.txt' INTO TABLE stu;
这里没有指定字段分隔符,以及行的终止符,默认情况下是这样的: 字段分隔符:
FIELDS TERMINATED BY '/t' ENCLOSED BY '' ESCAPED BY '//'
其中的'/t'就表示是字段分隔符为tab键,如果不想更改,那就把FIELDS TERMINATED BY '/t'中的'/t'改在你自己的分隔符。将执行命令改成这样:
LOAD DATA LOCAL INFILE 'c:/stu.txt' INTO TABLE stu fields terminated by ‘ ‘;
这里我用的是空格。 行终止符:
LINES TERMINATED BY '/n' STARTING BY ''
请注意如果用Windows中的编辑器(使用/r/n做为行的结束符)创建文件,应使用:
LOAD DATA LOCAL INFILE 'C://stu.txt' INTO TABLE stu LINES TERMINATED BY '/r/n';
(在运行OS X的Apple机上,应使用行结束符'/r'。) 如果你愿意,你能明确地在LOAD DATA语句中指出列值的分隔符和行尾标记,但是默认标记是定位符和换行符。这对读入文件“stu.txt”的语句已经足够。

导出表数据

select * from stu_t into outfile "c://stu_t.txt";
不过,没有按记录自动分行 这样才能够换行:
select * from stu_t into outfile "c://stu_t.txt" lines terminated by '/r/n';




自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论