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 想飛的魚 閱讀(2075) 評論(0)  編輯  收藏 所屬分類: database
          主站蜘蛛池模板: 濉溪县| 舞阳县| 高阳县| 公主岭市| 犍为县| 武乡县| 嵊州市| 陆河县| 定兴县| 乐至县| 当阳市| 仁化县| 山东省| 盘山县| 磴口县| 岐山县| 南京市| 奈曼旗| 钟山县| 大兴区| 鹤岗市| 班戈县| 尚义县| 兰西县| 云南省| 金山区| 玉山县| 增城市| 丰顺县| 海原县| 成安县| 浦江县| 磴口县| 青田县| 永安市| 绥芬河市| 泰州市| 教育| 勐海县| 巨野县| 山东|