MySql導(dǎo)入CSV文件或制表符分割的文件
有時(shí)候我們會(huì)有這樣的需求,需要把一些數(shù)據(jù)從別的庫(kù)導(dǎo)入到另外的一個(gè)庫(kù)中,而這些數(shù)據(jù)是用CSV文件存放的。對(duì)于MySql數(shù)據(jù)庫(kù)我們有兩種方式:一種是用命令來(lái)導(dǎo)入,另一種是很多的MySql客戶端(如Heidisql、Sequel pro)為我們提供了這樣的功能。下面我們來(lái)分別介紹著兩種導(dǎo)入方式。
MySql命令導(dǎo)入
準(zhǔn)備工作:
先建一個(gè)表:
建表語(yǔ)句如下:
CREATE TABLE `city_china` ( `id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵', `ename` VARCHAR(12) NULL DEFAULT NULL COMMENT '省的簡(jiǎn)稱', `ecityname` VARCHAR(12) NULL DEFAULT NULL COMMENT '市的名稱', `ccityname` VARCHAR(12) NULL DEFAULT NULL COMMENT '市的中文', PRIMARY KEY (`id`) ) COLLATE='utf8_general_ci' ENGINE=InnoDB AUTO_INCREMENT=81 ;
準(zhǔn)備要導(dǎo)入的CSV文件:
首先我們新建一個(gè)excel文件,內(nèi)容如下:

然后我們把excel文件轉(zhuǎn)換為csv文件。操作為:文件---->另存為:


注意:字段默認(rèn)是用逗號(hào)來(lái)進(jìn)行分割的。文檔中主鍵可以空著不填,另外順序要和數(shù)據(jù)庫(kù)中字段的順序保持一致。另外我們注意到:我們的數(shù)據(jù)庫(kù)的編碼格式是UTF-8,我們的CSV文件中是含有中文的,如果我們直接導(dǎo)入的 話,中文可能會(huì)導(dǎo)入不到數(shù)據(jù)庫(kù)了。我們需要把CSV文件的編碼格式變?yōu)閁TF-8.轉(zhuǎn)換CSV格式我們有一種簡(jiǎn)單的方式,CSV文件是可以用記事本來(lái)編輯的。用記事本打開編輯,然后另存為的時(shí)候選擇一些編碼格式就OK了。
導(dǎo)入命令
LOAD DATA INFILE 后面跟的是要導(dǎo)入的文件路徑,INTO TABLE 表名 FIELDS TERMINATED BY 分割字段方式(這里默認(rèn)是逗號(hào),可以更改為其他的分割方式)ENCLOSED BY 分號(hào)分割,默認(rèn)就行 LINES TERMINATED BY 換行 IGNORE 1 ROWS 忽略第一行(本例中第一行為數(shù)據(jù)庫(kù)中對(duì)應(yīng)的字段,如果你的文件中第一行就是數(shù)據(jù)的話,就不要忽略第一行了)。
MySql客戶端
這里我用的是HeiDiSql客戶端為例。連接上數(shù)據(jù)庫(kù)之后,在左上邊的菜單上(兩個(gè)小人的左邊)有這樣一個(gè)按鈕,如圖:

點(diǎn)擊,會(huì)彈出如下頁(yè)面:

點(diǎn)擊導(dǎo)入就OK。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
linux下perl操作mysql數(shù)據(jù)庫(kù)(需要安裝DBI)
有時(shí)候需要perl操作mysql數(shù)據(jù)庫(kù),可以通過(guò)DBI實(shí)現(xiàn),需要的朋友可以參考下2012-05-05
mysql中文排序注意事項(xiàng)與實(shí)現(xiàn)方法
mysql在查詢字符串時(shí)是大小寫不敏感的,在編繹mysql時(shí)一般以ISO-8859字符集作為默認(rèn)的字符集,因此在比較過(guò)程中中文編碼字符大小寫轉(zhuǎn)換造成了這種現(xiàn)象,比較應(yīng)急的方法是對(duì)于包含中文的字段加上"binary"屬性,使之作二進(jìn)制比較2008-09-09
使用Rotate Master實(shí)現(xiàn)MySQL 多主復(fù)制的實(shí)現(xiàn)方法
眾所周知,MySQL只支持一對(duì)多的主從復(fù)制,而不支持多主(multi-master)復(fù)制2012-05-05
MySQL學(xué)習(xí)之InnoDB結(jié)構(gòu)探秘
這篇文章主要是對(duì)InnoDB結(jié)構(gòu)的探秘,InnoDB是基于磁盤存儲(chǔ),其存儲(chǔ)的最基本單元是頁(yè),大小為16KB。而CPU和磁盤之間速度相差懸殊,所以通常使用內(nèi)存中的緩沖池來(lái)提高性能,感興趣的同學(xué)可以參考閱讀2023-03-03

