wiflish
Loving Life! Loving Coding!
posts - 98,comments - 98,trackbacks - 0
原文连接:
 http://blog.csdn.net/fenglibing/archive/2007/10/11/1820153.aspx
语法:
				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的内容如下:
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表中,使用这个命令:
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';
 
所有实例都是经过测试的,运行成功。
 
参加文章:http://www.wang48.com/jishubaodianview/?jsd_id=327
 

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

posted on 2008-02-26 12:39 想飞的鱼 阅读(2050) 评论(0)  编辑  收藏 所属分类: database

只有注册用户登录后才能发表评论。


网站导航: