明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

教你迅速掌握怎么向MySQL的表中錄入數(shù)據(jù)

[摘要]當我們建好數(shù)據(jù)庫及表后,首先想到的就是向數(shù)據(jù)庫的表中輸入數(shù)據(jù).下面我們就來探討一下如何向數(shù)據(jù)庫增加數(shù)據(jù):  1.常用的方法是insert語句以下為引用的內(nèi)容: insert into tablena...

當我們建好數(shù)據(jù)庫及表后,首先想到的就是向數(shù)據(jù)庫的表中輸入數(shù)據(jù).下面我們就來探討一下如何向數(shù)據(jù)庫增加數(shù)據(jù): 

1.常用的方法是insert語句

以下為引用的內(nèi)容:
 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語句將幾行同時插入到一個表中。

以下為引用的內(nèi)容:
insert into tablename values(...),(...),...

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

假如你沒有給出local,則服務器按如下方法對其進行定位:  

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

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

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

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

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

具體的格式:

以下為引用的內(nèi)容:
LOAD DATA [LOCAL] INFILE 'filename'
into table tablename import_options
[(fieldname_list)]

import options的語法為:

以下為引用的內(nèi)容:
  fields
  
  terminated by 'char'
  
  enclosed by 'char'
  
  escaped by 'char'
  
  lines
  
  terminated by 'string'

說明:

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

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

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

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

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

示例:
 

以下為引用的內(nèi)容:
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差不多:

以下為引用的內(nèi)容:
mysqlimport [options] sample_db filename

示例: 

以下為引用的內(nèi)容:
mysqlimport Cu root [--local] Cfields-terminated-by=",
" -fields-enclosed-by="\"" samp_db samp_table.txt

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

關(guān)鍵詞標簽:數(shù)據(jù),如何,掌握,快速,

學習教程快速掌握從入門到精通的SQL知識。