共計 1285 個字符,預計需要花費 4 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
怎么在 MySQL 中導入 csv 和 excel?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面丸趣 TV 小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
1. 導入 csv 文件
使用如下命令:
1.mysql load data infile your csv file path into table [tablename] fields terminated by ,
上面的 csv 文件以 , 逗號作為分割符,需要用雙引號或者單引號括起來。如果是以 \t 制表符作為分隔符的話,可不用顯示指明域分割符。
還有一點需要注意,csv 文件或者文本文件的路徑要使用絕對路徑,否則 mysql 會默認從數據庫存儲的目錄尋找,找不到就會報如下錯誤:
ERROR 13 (HY000) at line 1: Can t get stat of /var/lib/mysql/PromotionGroup/attempt_1467708933142_34285938_m_000000_0.1469434545564 (Errcode: 2)
perror 2 查看一下錯誤碼代表的意思:OS error code 2: No such file or directory。意思就是沒有指定的文件或者目錄。
如果使用絕對路徑之后還是會報如下錯誤:
ERROR 13 (HY000) at line 1: Can t get stat of /fullpath/file.csv (Errcode: 13)
使用命令 perror 13 查看錯誤類型:OS error code 13: Permission denied。根據錯誤的提示,順其自然的檢查文件是否有可讀權限,結果是有的,于是各種百度都沒有得到正確的答案,百思不得其解,最終選擇 google 在 stackoverflow 找到了我想要的答案。
Try to use LOAD DATA LOCAL INFILE instead of LOAD DATA INFILE.
使用 LOAD DATA LOCAL INFILE 嘗試一下,結果真的可以了!
load data local infile 與 load data infile 的區別是什么呢?
使用 LOCAL 關鍵詞,從客戶主機讀文件。不使用 LOCAL,從服務器讀取文件。
很奇怪的是,我的文件是在服務器上的,但是不使用 local 就會出錯,真搞不明白!
2. 導入 excel 文件
無需指定分割符。直接使用下面的命令:
mysql load data infile your excel file path into table [tablename]
注意上面導入文件時,都需要提前建立好與文件內各個段對應好的數據表。并且文件的路徑需要使用引號括起來,雙引號和單引號都可以。
3. 導入 sql 文件
無需提前建立好數據表,直接使用 source 命令:
source /home/abc/abc.sql;
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注丸趣 TV 行業資訊頻道,感謝您對丸趣 TV 的支持。
向 AI 問一下細節