有時候我們會有這樣的需求,需要把一些數據從別的庫導入到另外的一個庫中,而這些數據是用CSV文件存放的。對于MySql數據庫我們有兩種方式:一種是用命令來導入,另一種是很多的MySql客戶端(如Heidisql、Sequel pro)為我們提供了這樣的功能。下面我們來分別介紹著兩種導入方式。
MySql命令導入
準備工作:
先建一個表:
建表語句如下:
CREATE TABLE `city_china` (
`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
`ename` VARCHAR(12) NULL DEFAULT NULL COMMENT '省的簡稱',
`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
;
準備要導入的CSV文件:
首先我們新建一個excel文件,內容如下:

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


注意:字段默認是用逗號來進行分割的。文檔中主鍵可以空著不填,另外順序要和數據庫中字段的順序保持一致。另外我們注意到:我們的數據庫的編碼格式是UTF-8,我們的CSV文件中是含有中文的,如果我們直接導入的 話,中文可能會導入不到數據庫了。我們需要把CSV文件的編碼格式變為UTF-8.轉換CSV格式我們有一種簡單的方式,CSV文件是可以用記事本來編輯的。用記事本打開編輯,然后另存為的時候選擇一些編碼格式就OK了。
導入命令
復制代碼 代碼如下:
LOAD DATA INFILE 'D:\\Document\\Download\\test0142.csv' INTO TABLE city_china FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS ;
LOAD DATA INFILE 后面跟的是要導入的文件路徑,INTO TABLE 表名 FIELDS TERMINATED BY 分割字段方式(這里默認是逗號,可以更改為其他的分割方式)ENCLOSED BY 分號分割,默認就行 LINES TERMINATED BY 換行 IGNORE 1 ROWS 忽略第一行(本例中第一行為數據庫中對應的字段,如果你的文件中第一行就是數據的話,就不要忽略第一行了)。
MySql客戶端
這里我用的是HeiDiSql客戶端為例。連接上數據庫之后,在左上邊的菜單上(兩個小人的左邊)有這樣一個按鈕,如圖:

點擊,會彈出如下頁面:

點擊導入就OK。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Navicat把csv數據導入mysql
- Navicat for MySql可視化導入CSV文件
- 使用navicat將csv文件導入mysql
- mysql實現查詢結果導出csv文件及導入csv文件到數據庫操作
- Python之csv文件從MySQL數據庫導入導出的方法
- PHP編程實現csv文件導入mysql數據庫的方法
- Python實現 多進程導入CSV數據到 MySQL
- php將csv文件導入到mysql數據庫的方法
- mysql使用SQLyog導入csv數據不成功的解決方法
- Mysql 導入導出csv 中文亂碼問題的解決方法