由于工作需要,經(jīng)常需要將mysql數(shù)據(jù)庫中的數(shù)據(jù)導出到excel表格,或者需要將excel表格數(shù)據(jù)導入到mysql數(shù)據(jù)庫,我的方法是先將它們都轉換成一種中間數(shù)據(jù)格式csv(execl數(shù)據(jù)可以直接導出為csv格式,csv格式也可以直接用excel打開)。下面介紹一下操作步驟: csv導入mysql load data infile 'C:\\Users\\UserName\\Desktop\\test.csv' into table `table` fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\n'; mysql導入csv select * from `table` load data infile 'C:\\Users\\UserName\\Desktop\\test.csv' fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\n'; 如果亂碼,可用相關編輯器打開.csv文件,另存為utf-8的csv
在平山等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網(wǎng)站設計、做網(wǎng)站 網(wǎng)站設計制作定制網(wǎng)站設計,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站建設,全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設公司,平山網(wǎng)站建設費用合理。
通過命令行導入(要求列與列之間以 英文逗號 分割,若字段中含有 , 則以 " 包裹)
load data infile 'D:/mysql-5.7.29-winx64/files/ratings_5.csv' into table ratings fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by '\r\n';
踩坑一:文件路徑用 \ 分割會報錯,用 / 可(用 \\ 應該也可)
踩坑二:load data 命令報錯
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
在 my.ini 中加入(空字符串代表允許從一切目錄導入)
[mysqld]
secure-file-priv=''
然后再 Windows 的服務中重新啟動 mysql
踩坑三:csv 文件中第一行是諸如 userId 這樣的列名
如果你的 csv 文件不大,直接使用 notepad++ 打開后刪除第一行即可
但在我們這里,千萬級別的文件 notepad++ 無法打開,這時可以考慮兩種方法
1. 將 csv 文件傳入 Linux 服務器刪去第一行
由于不知道如何在 Win 10 中做這個操作,只能通過 Linux 中轉執(zhí)行
sed -i '1d' ratings.csv
檢驗是否成功,可以打印出第一行觀察
cat ratings.csv | head -n 1
2. 通過工具把大的 csv 分成多個 notepad 能夠打開的較小文件,對第一個文件刪除第一行并依次導入
工具:splitcsv
親測 5000000 條數(shù)據(jù)的 csv 文件可以在 notepad++ 中打開(只能同時打開 3 個)
這個工具還有個小坑:ratings_0.csv 的最后一行和 ratings_1.csv 的第一行是重復的,請手動刪除
mysql導入csv文件,用到的工具phpmyadmin,步驟如下:
登錄phpmyadmin(以本地localhost/phpmyadmin為示例),輸入數(shù)據(jù)庫賬號和密碼進行登錄。
2.登錄以后選擇具體的數(shù)據(jù)庫,以test為示例導入csv文件,選中test數(shù)據(jù)庫,選擇導入,然后選擇格式為csv,其它選項默認,選擇好文件點擊執(zhí)行。
注意事項:mysql導出sql文件兼容性比較好。