MySQL如何將CSV文件快速導(dǎo)入MySQL中
一般來(lái)說(shuō),將csv文件導(dǎo)入mysql數(shù)據(jù)庫(kù)有兩種辦法:
使用 navicat、workbench 等軟件中的導(dǎo)入向?qū)謩?dòng)導(dǎo)入;
使用
load data infile
命令導(dǎo)入前者速度較慢,適合數(shù)據(jù)量比較小的時(shí)候,而對(duì)于大文件,我們需要使用命令行導(dǎo)入。
方法一:使用navicat等軟件的導(dǎo)入向?qū)?/h2>
- 打開(kāi)安裝好的Navicat Premium,連接數(shù)據(jù)庫(kù)。
成功連接后如下圖:
- 創(chuàng)建數(shù)據(jù)庫(kù)
- 點(diǎn)擊“方向?qū)?rdquo;
- 選擇需要導(dǎo)入的文件類(lèi)型
- 選擇需要導(dǎo)入文件的路徑
- 查看導(dǎo)入的表結(jié)構(gòu)是否正確
- 導(dǎo)入成功
如果出現(xiàn)中文亂碼
解決方案:
- 將原來(lái)存儲(chǔ)在桌面上的 OrderData 文件通過(guò) Notepad++ 進(jìn)行轉(zhuǎn)碼,格式為 UTF-8 點(diǎn)擊OrderDaTa.csv, 右鍵用 Notepad++ 打開(kāi),修改編碼。
- 重新導(dǎo)入數(shù)據(jù)
- 點(diǎn)擊開(kāi)始按鈕,數(shù)據(jù)導(dǎo)入中…
方法二:命令行導(dǎo)入(LOAD DATA INFILE SQL)
準(zhǔn)備工作
- 在mysql中將表結(jié)構(gòu)先建好,包括字段名及類(lèi)型等
假設(shè)你的 CSV 文件包含圖書(shū)信息,分為 ISBN、Title、Author 和 ListPrice 字段。要?jiǎng)?chuàng)建這樣一個(gè)表,你需要執(zhí)行這樣的命令。
CREATE TABLE BooksCSV ( ISBN VARCHAR(255) NULL, title VARCHAR(255) NULL, author VARCHAR(255) NULL, ListPrice VARCHAR(255) NULL );
兩個(gè)建議:
建議所有的字段都接納 NULL 值,并且表沒(méi)有主鍵,因?yàn)槭孪炔⒉恢?CSV 文件中的數(shù)據(jù)是否完整和規(guī)范。
即使是數(shù)字?jǐn)?shù)據(jù),也只使用 VARCHAR 字段,以防止文件中的數(shù)據(jù)格式不正確而導(dǎo)致處理錯(cuò)誤。導(dǎo)入數(shù)據(jù)后,可以直接在數(shù)據(jù)庫(kù)中進(jìn)行清理,讀取表的數(shù),并進(jìn)行必要的驗(yàn)證和修正。
- 使用如下命令查看是否允許從外部路徑導(dǎo)入文件
show variables like '%secure%';
如果結(jié)果顯示secure_file_priv=‘’,即空字符串,則無(wú)需改動(dòng);如果secure_file_priv=null,則需要在mysql的配置文件my.ini中添加如下行secure_file_priv=‘’,之后重啟mysql服務(wù)。
- 使用如下命令查看是否允許本地導(dǎo)入
show variables like 'local_infile';
如果結(jié)果是off,則改使用如下命令改為on
set global local_infile=on;
- 導(dǎo)入文件
使用如下命令導(dǎo)入文件。注意:文件路徑不能有中文??!
load data local infile 'file_path' # 文件路徑 into table daily_price # 表名 character set utf8 # 編碼 fields terminated by ',' # 分隔符 lines terminated by '\r\n' # 換行符,windows下是\r\n ignore 1 lines; # 忽略第一行,因?yàn)楸眍^已建好
其他有關(guān)load data infile的細(xì)節(jié)可在此地址查詢(xún)
https://www.mysqlzh.com/doc/126/255.html
總結(jié)
到此這篇關(guān)于MySQL如何將CSV文件快速導(dǎo)入MySQL中的文章就介紹到這了,更多相關(guān)CSV文件快速導(dǎo)入MySQL內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MYSQL大小寫(xiě)不敏感導(dǎo)致用戶(hù)登錄異常問(wèn)題
這篇文章主要介紹了MYSQL大小寫(xiě)不敏感導(dǎo)致用戶(hù)登錄異常問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04MySQL數(shù)據(jù)遷移使用MySQLdump命令
今天小編就為大家分享一篇關(guān)于MySQL數(shù)據(jù)遷移使用MySQLdump命令,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10mysql二進(jìn)制日志文件恢復(fù)數(shù)據(jù)庫(kù)
喜歡的在服務(wù)器或者數(shù)據(jù)庫(kù)上直接操作的兄弟們你值得收藏下!不然你就悲劇了。-----(當(dāng)然我也是在網(wǎng)上搜索的資料!不過(guò)自己測(cè)試通過(guò)了的!)2014-08-08Windows10下mysql 8.0.19 winx64安裝教程及修改初始密碼
這篇文章主要為大家詳細(xì)介紹了Windows10下mysql 8.0.19 winx64安裝教程及修改初始密碼,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02linux下 root 登錄 MySQL 報(bào)錯(cuò)的問(wèn)題
本文給大家記錄的是個(gè)人在linux下使用root用戶(hù)登錄mysql的時(shí)候遇到的一個(gè)錯(cuò)誤的解決方法,非常的簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2016-02-02借助PHP的mysql_query()函數(shù)來(lái)創(chuàng)建MySQL數(shù)據(jù)庫(kù)的教程
這篇文章主要介紹了借助PHP的mysql_query()函數(shù)來(lái)創(chuàng)建MySQL數(shù)據(jù)庫(kù)的教程,將函數(shù)配合CREATE DATABASE語(yǔ)句使用,需要的朋友可以參考下2015-12-12MySQL常用命令 MySQL處理數(shù)據(jù)庫(kù)和表的命令
這篇文章主要介紹了MySQL常用命令,尤其是針對(duì)MySQL處理數(shù)據(jù)庫(kù)和表的命令進(jìn)行學(xué)習(xí),特別適用于新手,感興趣的小伙伴們可以參考一下2015-11-11My Sql 1067錯(cuò)誤與編碼問(wèn)題的解決方案
My Sql 大部分都是用綠色版(解壓版) 然后注冊(cè)服務(wù)簡(jiǎn)單方便,但是配置文件也很讓人糾結(jié),下面小編給大家?guī)?lái)了My Sql 1067錯(cuò)誤與編碼問(wèn)題的解決方案,感興趣的朋友參考下吧2016-11-11利用Xtrabackup工具備份及恢復(fù)(MySQL DBA的必備工具)
Xtrabackup 是percona的一個(gè)開(kāi)源項(xiàng)目,可以熱備份innodb ,XtraDB,和MyISAM(會(huì)鎖表),可以看做是InnoDB Hotbackup的免費(fèi)替代品2013-04-04