熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> MySQL >> 正文

如何向mysql數據庫的表中錄入數據

2013-11-23 20:57:41  來源: MySQL 

  
  當你建好了數據庫及表時你首先想到的就是向數據庫的表中輸入數據這就牽涉到如何向數據庫增加數據下面我們就來探討一下這個問題:
  
  一般我們常用的方法是insert語句(這裡假定各位的版本都不是很低)她有以下幾種形式:
  
  insert into tablename values(valuevalue)
  
  insert into tablename(fieldnamefieldname) values(valuevalue)
  
  insert into tablename set fieldname=valuefieldname=value
  
  insert into tablename(fieldnamefieldname) select fieldnamefieldname from tablename
  
  以上基本上羅列了用insert插入數據的方法當然你也可以用insert語句將幾行同時插入到一個表中如下所示:
  
  insert into tablename values()()
  
  在mysql運行環境下我們還可以用LOAD DATA 語句把文件裡面的數據讀取錄入到表裡面一般來講因為此文件是由服務器在主機上直接讀取的所以你必須具有file權限且文件必須是完全可讀當你版本夠新的話你可以給出local這樣由於你是從客戶機上讀取該文件並將內容傳送到服務器你就不需要file權限
  
  如果你沒有給出local則服務器按如下方法對其進行定位:
  
  )如果你的filename為絕對路徑則服務器從根目錄開始查找該文件
  
  )如果你的filename為相對路徑則服務器從數據庫的數據目錄中開始查找該文件
  
  如果你給出了local則文件將按以下方式進行定位:
  
  )如果你的filename為絕對路徑則客戶機從根目錄開始查找該文件
  
  )如果你的filename為相對路徑則客戶機從當前目錄開始查找該文件
  
  說了半天也許你還不明白這具體的格式看下面先:
  
  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
  
  下面我們對其進行一些說明:
  )fields terminated by char 指定分隔列的字符.缺省時假定列值由制表符分隔.
  
  )fields enclosed by char 指明列值應包括在指定的字符中.通常用引號.缺省時假定列值不包括在任何字符中.
  
  )fields escaped by char 表示用於轉義特殊字符的轉義符.缺省時表示無轉義符
  
  )lindes escaped by string 指定結束輸入行的串(可以是多字符的).缺省時假定由換行符終止行
  
  需要注意的是轉義字符的使用 如:\ 表示單引號\ 表示雙引號 等等另外還有一些選項這裡沒有具體談到如 ignore n lines 她可以控制文件的前n行不被讀入數據庫詳細請看mysql中文參考
  
  說了上面這麼多給一行命令大家具體體會一下:
  
  load data [local] infile sampletxt into table sample fields terminated by enclosed by \
  
  在系統命令行下你可以用mysqlimport實用程序她將文本文件的內容讀取到已有表中(其實mysqlimport起的作用就是實現load data命令行的接口)調用完mysqlimport後她生成一個load data 語句語法基本上和load data差不多:
  
  mysqlimport [options] sample_db filename
  
  同樣給條命令看一下吧:
  
  mysqlimport Cu root [local] Cfieldsterminatedby= fieldsenclosedby=\ samp_db samp_tabletxt
  
  (REMARK:此語句中samp_db為指定的數據庫要錄入數據的表由文件名參數確定文件名去掉其任何擴展名留下的就是表名所以此語句中錄入數據的表名為samp_table也就是說在執行這條語句時首先應該肯定表samp_table存在另外如果你有多個文件需要裝入同一個表裡你可以用samp_tablentxt來處理)

From:http://tw.wingwit.com/Article/program/MySQL/201311/29349.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.