您好,登錄后才能下訂單哦!
這篇文章主要講解了解決mysql導(dǎo)出scv文件亂碼、躥行的方法,內(nèi)容清晰明了,相信大家閱讀完之后會有幫助。
工作原因,常常不能實(shí)現(xiàn)完全的線上化(即,所有數(shù)據(jù)都在線上完成,不需要導(dǎo)入導(dǎo)出),而導(dǎo)出Excel常常比修煉成仙還慢,因此,我們將數(shù)據(jù)庫文件導(dǎo)出到本地使用的時(shí)候,常常使用的方法的是導(dǎo)成CSV格式。
而csv格式的也常常出現(xiàn)導(dǎo)出的中文亂碼,或者躥行等問題,從而陷入兩難境地。老板要數(shù)據(jù),你卻導(dǎo)不出來,急死人了。
1.問題:我們原本要把如左圖所示的數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出成他原本的樣子,無奈成了右邊的亂七八糟的東西;
2.解決:
a:原本怎么導(dǎo)出為csv的還是怎么導(dǎo);
b:選中你導(dǎo)出的csv文件,右鍵選擇打開方式為【記事本】;
c:文件-->另存為-->編碼選擇UTF-8-->保存;(文件名和保存類型都不需要改,點(diǎn)擊保存之后會提示該文件已存在,是否替換,選擇【是】就好)
d:打開剛剛保存的文件,只是這次選擇打開方式為excel,然后數(shù)據(jù)就會像你數(shù)據(jù)庫里的樣子一樣,干干凈凈。
補(bǔ)充知識:mysql的備份--導(dǎo)入導(dǎo)出--并解決亂碼問題
1.導(dǎo)出整個數(shù)據(jù)庫
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 > 導(dǎo)出的文件名
mysqldump -u dbuser -p dbname > dbname.sql
2.導(dǎo)出一個表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫名 表名> 導(dǎo)出的文件名
mysqldump -u dbuser -p dbname users> dbname_users.sql
3.導(dǎo)出一個數(shù)據(jù)庫結(jié)構(gòu)
mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql
-d 沒有數(shù)據(jù) --add-drop-table 在每個create語句之前增加一個drop table
4.導(dǎo)入數(shù)據(jù)庫
1) 從 文件恢復(fù)到數(shù)據(jù)庫
mysql -uroot -p dbName < fileName
例如:從 test.sql 恢復(fù)到 數(shù)據(jù)庫db1
mysql -uroot -p db1 <test.sql
2) 常用source 命令 進(jìn)入mysql數(shù)據(jù)庫控制臺,
如 mysql -u root -p mysql>use 數(shù)據(jù)庫 然后使用source命令
后面參數(shù)為腳本文件(如這里用到的.sql)
mysql>source d:/dbname.sql
5.解決導(dǎo)出亂碼
例如:
mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql
那么導(dǎo)入數(shù)據(jù)時(shí)也要使用--default-character-set=utf8:
mysql -uroot -p --default-character-set=utf8 dbname < bak.sql
統(tǒng)一編碼后,mysql數(shù)據(jù)遷移中的亂碼問題就解決了。
看完上述內(nèi)容,有沒有對解決mysql導(dǎo)出scv文件亂碼、躥行的方法有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。