MySql導(dǎo)入CSV文件或制表符分割的文件
有時候我們會有這樣的需求,需要把一些數(shù)據(jù)從別的庫導(dǎo)入到另外的一個庫中,而這些數(shù)據(jù)是用CSV文件存放的。對于MySql數(shù)據(jù)庫我們有兩種方式:一種是用命令來導(dǎo)入,另一種是很多的MySql客戶端(如Heidisql、Sequel pro)為我們提供了這樣的功能。下面我們來分別介紹著兩種導(dǎo)入方式。
MySql命令導(dǎo)入
準(zhǔn)備工作:
先建一個表:
建表語句如下:
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 ;
準(zhǔn)備要導(dǎo)入的CSV文件:
首先我們新建一個excel文件,內(nèi)容如下:
然后我們把excel文件轉(zhuǎn)換為csv文件。操作為:文件---->另存為:
注意:字段默認(rèn)是用逗號來進(jìn)行分割的。文檔中主鍵可以空著不填,另外順序要和數(shù)據(jù)庫中字段的順序保持一致。另外我們注意到:我們的數(shù)據(jù)庫的編碼格式是UTF-8,我們的CSV文件中是含有中文的,如果我們直接導(dǎo)入的 話,中文可能會導(dǎo)入不到數(shù)據(jù)庫了。我們需要把CSV文件的編碼格式變?yōu)閁TF-8.轉(zhuǎn)換CSV格式我們有一種簡單的方式,CSV文件是可以用記事本來編輯的。用記事本打開編輯,然后另存為的時候選擇一些編碼格式就OK了。
導(dǎo)入命令
LOAD DATA INFILE 后面跟的是要導(dǎo)入的文件路徑,INTO TABLE 表名 FIELDS TERMINATED BY 分割字段方式(這里默認(rèn)是逗號,可以更改為其他的分割方式)ENCLOSED BY 分號分割,默認(rèn)就行 LINES TERMINATED BY 換行 IGNORE 1 ROWS 忽略第一行(本例中第一行為數(shù)據(jù)庫中對應(yīng)的字段,如果你的文件中第一行就是數(shù)據(jù)的話,就不要忽略第一行了)。
MySql客戶端
這里我用的是HeiDiSql客戶端為例。連接上數(shù)據(jù)庫之后,在左上邊的菜單上(兩個小人的左邊)有這樣一個按鈕,如圖:
點擊,會彈出如下頁面:
點擊導(dǎo)入就OK。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL窗口函數(shù) over(partition by)的用法
本文主要介紹了MySQL窗口函數(shù) over(partition by)的用法, partition by相比較于group by,能夠在保留全部數(shù)據(jù)的基礎(chǔ)上,只對其中某些字段做分組排序,下面就來介紹一下具體用法,感興趣的可以了解一下2024-02-02mysql中l(wèi)ike % %模糊查詢的實現(xiàn)
這篇文章主要介紹了mysql中l(wèi)ike % %模糊查詢的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12mysql實現(xiàn)數(shù)據(jù)文件存儲到指定分區(qū)的示例代碼
MySQL中可以使用分區(qū)表來提高數(shù)據(jù)檢索速度,本文主要介紹了mysql實現(xiàn)數(shù)據(jù)文件存儲到指定分區(qū)的示例代碼,具有一定的參考價值,感興趣的可以了解一下2024-01-01MySQL數(shù)據(jù)庫學(xué)習(xí)之分組函數(shù)詳解
這篇文章主要為大家詳細(xì)介紹一下MySQL數(shù)據(jù)庫中分組函數(shù)的使用,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)MySQL有一定幫助,需要的可以參考一下2022-07-07mysql中url時區(qū)的陷阱該如何規(guī)避詳解
最近在工作中發(fā)現(xiàn)一個問題,是關(guān)于mysql中url時區(qū)的,發(fā)現(xiàn)這個陷阱如果大家不注意可能都會遇到,所以給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于mysql中url時區(qū)的陷阱該如何規(guī)避的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-08-08Mysql數(shù)據(jù)庫從5.6.28版本升到8.0.11版本部署項目時遇到的問題及解決方法
這篇文章主要介紹了Mysql數(shù)據(jù)庫從5.6.28版本升到8.0.11版本過程中遇到的問題及解決方法,解決辦法有三種,每種方法給大家介紹的都很詳細(xì),感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05MySQL數(shù)據(jù)表分區(qū)策略及優(yōu)缺點分析
項目開發(fā)中,隨著數(shù)據(jù)庫數(shù)據(jù)量越來越大,單個表中數(shù)據(jù)太多,從而導(dǎo)致查詢速度變慢,而且由于表的鎖機(jī)制導(dǎo)致應(yīng)用操作也受到嚴(yán)重影響,出現(xiàn)了數(shù)據(jù)庫性能瓶頸。因此我們需要考慮分表與分區(qū),MySQL分表分區(qū)就是為了解決大數(shù)據(jù)量導(dǎo)致MySQL性能低下的問題。2021-05-05MySQL命令行中給表添加一個字段(字段名、是否為空、默認(rèn)值)
本文介紹MySQL數(shù)據(jù)庫使用SQL語句來在現(xiàn)有的表中,添加一個新的字段,包括設(shè)置字段的是否為空、默認(rèn)值等2016-04-04