c mysql匯入資料 MySQL 資料匯入

2021-10-18 05:21:45 字數 1918 閱讀 3893

mysql 資料匯入

mysql 可以採用2種簡單的方法將之前備份檔案中的資料載入進 mysql 資料庫。

利用 load data 匯入資料

mysql 利用 load data 語句作為批量資料載入器。下面這個範例將從當前目錄中讀取 dump.txt 檔案,然後把它載入進當前資料庫的表 mytbl 中。

mysql> load data local infile 'dump.txt' into table mytbl;

如果不寫 local 關鍵字,mysql 會從伺服器主機檔案系統的根目錄開始,以完整指明檔案位置的絕對路徑名方式開始查詢資料檔案。mysql 會從給定位置讀取檔案。

預設情況下,load data 假定資料檔案中每行都由換行符所終止,每行的資料值由製表符所分隔開。

為了明確指定檔案格式,使用 fields 子句來描述行內字段特徵, lines 子句指定行末尾序列。下例中的 load data 語句表明,資料檔案中的值由冒號(:)分隔,每行由換行符及回車符所終止。

mysql> load data local infile 'dump.txt' into table mytbl

-> fields terminated by ':'

-> lines terminated by '\r\n';

load data 假定資料檔案中的列的順序與表中列的順序相同。如果不為真,可以指定乙個列表來指示資料檔案中具體表列的載入方式。假如表有3個列:a、b和c,但資料檔案中對應的是列b、c與a,則可以這樣載入。

mysql> load data local infile 'dump.txt'

-> into table mytbl (b, c, a);

利用mysqlimport 匯入資料

mysql 還包含乙個工具程式:mysqlimport。它相當於 load data 的乙個封裝器,因而你可以直接從命令列中載入輸入檔案。

將 dump.txt 中的資料載入進表 mytbl,可以在 unix 系統的命令列中使用以下命令:

$ mysqlimport -u root -p --local database_name dump.txt

password *****

如果使用mysqlimport,命令列選項就會提供格式說明符。mysqlimport 命令作用相當於前面的兩個load data 語句,語法如下:

$ mysqlimport -u root -p --local --fields-terminated-by=":" \

--lines-terminated-by="\r\n" database_name dump.txt

password *****

對於 mysqlimport 來說,你怎麼指定選項的次序並不重要,只要把它們寫在資料庫名稱前面就可以了。

mysqlimport 語句使用 --columns 選項來指定列次序。

$ mysqlimport -u root -p --local --columns=b,c,a \

database_name dump.txt

password *****

處理引號與特殊字元

fields 子句能指定除了 terminated by 之外的其他格式選項。預設情況下,load data 會假定值不加引號,並把反斜槓(\)解釋為表示特殊意義的轉義字元。要想明確指定引號字元,需使用 enclosed by 。mysql 會在處理輸入時將該字元從資料值末尾清除掉。改變預設的轉義字元,需使用 escaped by。

在指定 enclosed by 來表示引號字元應該從資料值末尾清除時,有可能在資料值中包含引號字元,或在其之前新增轉義字元。比如,如果引號和轉義字元是"和\,那麼輸入值"a""b\"c"就會被解讀為a"b"c。

對於 mysqlimport 而言,相應的指定引號和轉義值的命令列選項是--fields-enclosed-by和--fields-escaped-by。

c mysql匯入資料 mysql資料匯入

1 windows解壓 2 修改檔名,例如a.txt 3 rz 匯入到 linux data pcode sudo su cd data pcode rm rf txt 4 合併到乙個檔案 cat txt data.txt dos2unix data.txt 對比檔案行數 wc l txt 5 my...

c mysql 的大量資料匯入

專案需求,本來oracle用得好好的,突然要轉成mysql,我也是醉了。有個匯入的問題,查了半天終於得到解決。oracle中有 oraclebulkcopy,sql當然也有個sqlbulkcopy 這裡有介紹就不說 不廢話了,直接上 應該很容易懂吧 using system using system...

C mysql資料操作

using system using system.collections.generic using system.linq using system.text using system.data using mysql.data.mysqlclient using mysql.data name...