語法:
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語句,你同樣可以在你的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盤的根目錄下。默認(rèn)的字段分隔符是(tab),你可以更改,下面說明。并且以CREATE TABLE語句中列出的列次序給出。對(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分開。
要想將文本文件“stu.txt”裝載到stu表中,使用這個(gè)命令:
mysql
> LOAD DATA LOCAL INFILE 'c://stu.txt'
INTO TABLE stu;
這里沒有指定字段分隔符,以及行的終止符,默認(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語句中指出列值的分隔符和行尾標(biāo)記,但是默認(rèn)標(biāo)記是定位符和換行符。
這對(duì)讀入文件“stu.txt”的語句已經(jīng)足夠。
另外,還可以使用SELECT ... INTO OUTFILE 將數(shù)據(jù)導(dǎo)入到外部文件中,如下:
select
* from stu_t into outfile "c://stu_t.txt"
;
不過,沒有按記錄自動(dòng)分行
這樣才能夠換行:
select
* from stu_t
into outfile
"c://stu_t.txt"
lines terminated by '/r/n'
;
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

