一、導入csv數據到mysql
用wps Spreadsheets?。╳indows下可以用excel)將客戶或策劃做的xlsx文件轉換為csv格式,但是里面可能會有逗號。凡是有逗號的字段,會用雙引號將其中內容“包圍”起來,所以在輸入數據庫的時候必須特別說明。
LOAD DATA LOCAL INFILE "filename.csv"
INTO TABLE tableName
CHARACTER SET utf8
FIELDS TERMINATED BY ","
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"';
注意,那個LOCAL描述很重要,不寫的話權限錯誤,然后去百度各種權限設置就掉進溝溝里面了。FIELDS TERMINATED BY ","的意思是字段以逗號分隔;OPTIONALLY ENCLOSED BY '"'和ESCAPED BY '"'的意思就是文本字段可能以雙引號開始雙引號結束。
數據庫和表都應該提前設置為utf-8的,否則亂碼。
其他問題:
當CSV最后一個字段為中文時,在數據庫里面一看看不出什么問題,但是點開字段內容或者列表到命令行就會發(fā)現,字段內容最后多了一個 \r。
我重新導入了一次,采取的方法是把最后一個字段換為數字類型字段。
另外,可以將前面導入的命令后面加一句:
lines terminated by "\r\n"
表示這個文件行結尾是\r\n,應該同樣能解決問題。
系統(tǒng)應該是默認每一行以\n結尾,所以多出了一個\r。
我沒有實測。理論上就是這樣。