wiflish
          Loving Life! Loving Coding!
          posts - 98,comments - 98,trackbacks - 0
          原文連接:
          ?http://blog.csdn.net/fenglibing/archive/2007/10/11/1820153.aspx
          語(yǔ)法:
          				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;
          因?yàn)檫@是一條SQL語(yǔ)句,你同樣可以在你的JAVA程序序中用:
          st.execute(“LOAD DATA LOCAL INFILE 'C:\\stu.txt' INTO TABLE stu”);
          (st表示Statement的一個(gè)實(shí)例變量,假設(shè)數(shù)據(jù)庫(kù)連接,st的初使化已經(jīng)完成)
          ?
          創(chuàng)建stu表:
          create table stu_other(id int auto_increment primary key,stu_name varchar(50),age int);
          ?
          然后創(chuàng)建一個(gè)文本文件“stu.txt”,每行包含一個(gè)記錄,放在C盤(pán)的根目錄下。默認(rèn)的字段分隔符是(tab),你可以更改,下面說(shuō)明。并且以CREATE TABLE語(yǔ)句中列出的列次序給出。對(duì)于丟失的值(例如未知的性別,或仍然活著的動(dòng)物的死亡日期),你可以使用NULL值。為了在你的文本文件中表示這些內(nèi)容,使用\N(反斜線,字母N)。
          ?
          如stu.txt的內(nèi)容如下:
          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分開(kāi)。
          ?
          要想將文本文件“stu.txt”裝載到stu表中,使用這個(gè)命令:
          mysql> LOAD DATA LOCAL INFILE 'c:\\stu.txt' INTO TABLE stu;
          這里沒(méi)有指定字段分隔符,以及行的終止符,默認(rèn)情況下是這樣的:
          字段分隔符:
          				FIELDS TERMINATED BY '\t' ENCLOSED BY '' ESCAPED BY '\\'
          		
          				其中的'\t'就表示是字段分隔符為tab鍵,如果不想更改,那就把FIELDS TERMINATED BY '\t'中的'\t'改在你自己的分隔符。將執(zhí)行命令改成這樣:
          		
          mysql> LOAD DATA LOCAL INFILE 'c:\stu.txt' INTO TABLE stu fields terminated by ‘ ‘;
          這里我用的是空格。
          行終止符:
          				LINES TERMINATED BY '\n' STARTING BY ''
          		
          ?
          請(qǐng)注意如果用Windows中的編輯器(使用\r\n做為行的結(jié)束符)創(chuàng)建文件,應(yīng)使用:
          ?
          mysql> LOAD DATA LOCAL INFILE 'C:\\stu.txt' INTO TABLE stu
          ??? -> LINES TERMINATED BY '\r\n';
          (在運(yùn)行OS X的Apple機(jī)上,應(yīng)使用行結(jié)束符'\r'。)
          ?
          如果你愿意,你能明確地在LOAD DATA語(yǔ)句中指出列值的分隔符和行尾標(biāo)記,但是默認(rèn)標(biāo)記是定位符和換行符。這對(duì)讀入文件“stu.txt”的語(yǔ)句已經(jīng)足夠。
          ?
          另外,還可以使用SELECT ... INTO OUTFILE 將數(shù)據(jù)導(dǎo)入到外部文件中,如下:
          select * from stu_t into outfile "c:\\stu_t.txt";
          不過(guò),沒(méi)有按記錄自動(dòng)分行
          這樣才能夠換行:
          select * from stu_t into outfile "c:\\stu_t.txt" lines terminated by '\r\n';
          ?
          所有實(shí)例都是經(jīng)過(guò)測(cè)試的,運(yù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 想飛的魚(yú) 閱讀(2084) 評(píng)論(0)  編輯  收藏 所屬分類: database
          主站蜘蛛池模板: 林口县| 德昌县| 精河县| 利津县| 北辰区| 嵩明县| 无为县| 屯留县| 龙门县| 防城港市| 林口县| 长治市| 营口市| 佛学| 棋牌| 麟游县| 会同县| 来凤县| 永寿县| 安乡县| 句容市| 绥化市| 米泉市| 玉林市| 平阴县| 曲沃县| 忻城县| 大连市| 泸州市| 赤峰市| 郓城县| 延庆县| 安丘市| 陆良县| 梅河口市| 达日县| 孝义市| 涟水县| 衡南县| 洛扎县| 昌江|