mysql 批量导出表数据类型_[转]mysql批量导入已经格式好的文本数据

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,...]

使用如下命令:

LOAD DATA LOCAL INFILE 'C:\\stu.txt' INTO TABLE stu;

因为这是一条SQL语句,你同样可以在你的JAVA程序序中用:

st.execute(“LOAD DATA LOCAL INFILE 'C:\\stu.txt' INTO TABLE stu”);

(st表示Statement的一个实例变量,假设数据库连接,st的初使化已经完成)

创建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的内容如下:

100001FLB100001     100001

100002FLB100002     100002

100003FLB100003     100003

100004FLB100004     100004

100005FLB100005     100005

100006FLB100006     100006

100007FLB100007     100007

100008FLB100008     100008

这里我用的是table分开。

要想将文本文件“stu.txt”装载到stu表中,使用这个命令:

mysql> 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'改在你自己的分隔符。将执行命令改成这样:

mysql> LOAD DATA LOCAL INFILE 'c:\stu.txt' INTO TABLE stu fields terminated by ‘ ‘;

这里我用的是空格。

行终止符:

LINES TERMINATED BY '\n' STARTING BY ''

请注意如果用Windows中的编辑器(使用\r\n做为行的结束符)创建文件,应使用:

mysql> LOAD DATA LOCAL INFILE 'C:\\stu.txt' INTO TABLE stu

-> LINES TERMINATED BY '\r\n';

(在运行OS X的Apple机上,应使用行结束符'\r'。)

如果你愿意,你能明确地在LOAD DATA语句中指出列值的分隔符和行尾标记,但是默认标记是定位符和换行符。这对读入文件“stu.txt”的语句已经足够。

另外,还可以使用SELECT ... INTO OUTFILE将数据导入到外部文件中,如下:

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';

所有实例都是经过测试的,运行成功。

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1820153

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2008-02-26 12:39

浏览 2460

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值