国产黄色免费网站,人人干人人干人人干,免费大黄网站在线看,国产情侣一区二区三区,99精品国产福利免费一区二区,国产亚洲成归v人片在线观看,伊人88

2023信創(chuàng)獨(dú)角獸企業(yè)100強(qiáng)
全世界各行各業(yè)聯(lián)合起來,internet一定要實現(xiàn)!

如何向數(shù)據(jù)庫的表中錄入數(shù)據(jù)

2004-02-11 eNet&Ciweek

  當(dāng)你建好了數(shù)據(jù)庫及表時,你首先想到的就是向數(shù)據(jù)庫的表中輸入數(shù)據(jù).這就牽涉到如何向數(shù)據(jù)庫增加數(shù)據(jù).下面我們就來探討一下這個問題:

  1.一般我們常用的方法是insert語句(這里假定各位的版本都不是很低).她有以下幾種形式:

  insert into tablename values(value1,value2,...)

  insert into tablename(fieldname1,fieldname2,...) values(value1,value2,...)

  insert into tablename set fieldname1=value1,fieldname2=value2,...

  insert into tablename(fieldname1,fieldname2) select fieldname1,fieldname2 from tablename1

  以上基本上羅列了用insert插入數(shù)據(jù)的方法,當(dāng)然你也可以用insert語句將幾行同時插入到一個表中.如下所示:

  insert into tablename values(...),(...),...

  2.在mysql運(yùn)行環(huán)境下,我們還可以用LOAD DATA 語句把文件里面的數(shù)據(jù)讀取錄入到表里面.一般來講,因為此文件是由服務(wù)器在主機(jī)上直接讀取的.所以你必須具有file權(quán)限且文件必須是完全可讀.當(dāng)你版本夠新的話,你可以給出local,這樣由于你是從客戶機(jī)上讀取該文件并將內(nèi)容傳送到服務(wù)器,你就不需要file權(quán)限.

  如果你沒有給出local,則服務(wù)器按如下方法對其進(jìn)行定位:

  1)如果你的filename為絕對路徑,則服務(wù)器從根目錄開始查找該文件.

  2)如果你的filename為相對路徑,則服務(wù)器從數(shù)據(jù)庫的數(shù)據(jù)目錄中開始查找該文件.

  如果你給出了local,則文件將按以下方式進(jìn)行定位:

  1)如果你的filename為絕對路徑,則客戶機(jī)從根目錄開始查找該文件.

  2)如果你的filename為相對路徑,則客戶機(jī)從當(dāng)前目錄開始查找該文件.

  說了半天,也許你還不明白這具體的格式,看下面先:

  LOAD DATA [LOCAL] INFILE 'filename' into table tablename import_options [(fieldname_list)]

  import options的語法為:

  fields

  terminated by 'char'

  enclosed by 'char'

  escaped by 'char'

  lines

  terminated by 'string'

  下面我們對其進(jìn)行一些說明:

  1)fields terminated by char 指定分隔列的字符.缺省時假定列值由制表符分隔.

  2)fields enclosed by char 指明列值應(yīng)包括在指定的字符中.通常用引號.缺省時,假定列值不包括在任何字符中.

  3)fields escaped by char 表示用于轉(zhuǎn)義特殊字符的轉(zhuǎn)義符.缺省時表示無轉(zhuǎn)義符

  4)lindes escaped by string 指定結(jié)束輸入行的串(可以是多字符的).缺省時假定由換行符終止行

  需要注意的是轉(zhuǎn)義字符的使用. 如:\' 表示單引號,\" 表示雙引號 等等.另外還有一些選項這里沒有具體談到,如 ignore n lines 她可以控制文件的前n行不被讀入數(shù)據(jù)庫.詳細(xì)請看mysql中文參考.

  說了上面這么多,給一行命令大家具體體會一下:

  load data [local] infile "sample.txt" into table sample fields terminated by "," enclosed by "\""

  3.在系統(tǒng)命令行下你可以用mysqlimport實用程序,她將文本文件的內(nèi)容讀取到已有表中(其實mysqlimport起的作用就是實現(xiàn)load data命令行的接口),調(diào)用完mysqlimport后她生成一個load data 語句.語法基本上和load data差不多:

  mysqlimport [options] sample_db filename

  同樣,給條命令看一下吧:

  mysqlimport –u root [--local] –fields-terminated-by=”,” -fields-enclosed-by="\"" samp_db samp_table.txt

  (REMARK:此語句中samp_db為指定的數(shù)據(jù)庫,要錄入數(shù)據(jù)的表由文件名參數(shù)確定.文件名去掉其任何擴(kuò)展名,留下的就是表名.所以此語句中錄入數(shù)據(jù)的表名為samp_table.也就是說在執(zhí)行這條語句時首先應(yīng)該肯定表samp_table存在.另外如果你有多個文件需要裝入同一個表里,你可以用samp_table.n.txt來處理)

相關(guān)頻道: eNews

您對本文或本站有任何意見,請在下方提交,謝謝!

投稿信箱:tougao@enet16.com