mysql如何在已有數(shù)據(jù)庫(kù)上統(tǒng)一字符集
前言
數(shù)據(jù)庫(kù)里面,部分?jǐn)?shù)據(jù)表和數(shù)據(jù)是latin1的,部分?jǐn)?shù)據(jù)表和數(shù)據(jù)是UTF8,還有部分表,表結(jié)構(gòu)是utf8而數(shù)據(jù)是latin1。
這種奇葩情況,工作了十幾年的我,還是第一次碰到。下面說(shuō)一下,怎么樣字符集統(tǒng)一成utf8
1,建一個(gè)空數(shù)據(jù)庫(kù)
2,把表結(jié)構(gòu)和數(shù)據(jù)是utf8的表導(dǎo)出,然后直接導(dǎo)入到新的數(shù)據(jù)庫(kù)中
3,數(shù)據(jù)表和數(shù)據(jù)都是latin1的表,先導(dǎo)出表結(jié)構(gòu)和數(shù)據(jù),加上--default-character-set=latin1,將導(dǎo)出文件中,latin1改為utf8,在導(dǎo)入到新的數(shù)據(jù)庫(kù)中。
4,表結(jié)構(gòu)是utf8,表數(shù)據(jù)是latin1的,有二種方法:
4.1,先導(dǎo)出表結(jié)構(gòu),導(dǎo)入到新的數(shù)據(jù)庫(kù)中。導(dǎo)出數(shù)據(jù),加上--default-character-set=utf8,因?yàn)楸斫Y(jié)構(gòu)是utf8,表數(shù)據(jù)是latin1,入庫(kù)時(shí)已亂碼。在將數(shù)據(jù)導(dǎo)入到新庫(kù)中。這種方案有缺點(diǎn),--default-character-set=utf8,導(dǎo)出的數(shù)據(jù)可能會(huì)有丟失,導(dǎo)出的數(shù)據(jù),在導(dǎo)入時(shí)可能會(huì)報(bào)錯(cuò)。
4.2,可以通過(guò)binary字符集做中轉(zhuǎn),推薦這種方法
UPDATE user SET user_name = CONVERT(CONVERT(CONVERT(user_name USING latin1) USING binary) USING UTF8);
這種方法,省去了導(dǎo)出導(dǎo)入的麻煩,速度比較快,11w條數(shù)據(jù),差不多5-6秒
數(shù)據(jù)庫(kù)設(shè)計(jì)這塊非常重要,在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí)一定要考慮清楚。地基不牢,大廈遲早會(huì)倒的。
相關(guān)文章
mysql實(shí)現(xiàn)查詢結(jié)果導(dǎo)出csv文件及導(dǎo)入csv文件到數(shù)據(jù)庫(kù)操作
這篇文章主要介紹了mysql實(shí)現(xiàn)查詢結(jié)果導(dǎo)出csv文件及導(dǎo)入csv文件到數(shù)據(jù)庫(kù)操作,結(jié)合實(shí)例形式分析了mysql相關(guān)數(shù)據(jù)庫(kù)導(dǎo)出、導(dǎo)入語(yǔ)句使用方法及操作注意事項(xiàng),需要的朋友可以參考下2018-07-07
mysql 如何使用JSON_EXTRACT() 取json值
這篇文章主要介紹了mysql如何使用JSON_EXTRACT() 取json值的操作方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
解決大于5.7版本mysql的分組報(bào)錯(cuò)Expression #1 of SELECT list is not in GR
這篇文章主要介紹了解決大于5.7版本mysql的分組報(bào)錯(cuò)Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated問(wèn)題,需要的朋友可以參考下2019-10-10
MySQL中查找最小缺失ID的方法實(shí)現(xiàn)
在開發(fā)過(guò)程中,我們經(jīng)常會(huì)遇到需要查找數(shù)據(jù)庫(kù)表中最小的缺失 ID 的情況,特別是在處理需要順序標(biāo)識(shí)符的業(yè)務(wù)邏輯時(shí),下面就來(lái)介紹一下,感興趣的可以了解一下2024-11-11
簡(jiǎn)單了解標(biāo)準(zhǔn)SQL的update語(yǔ)句三種用法
這篇文章主要介紹了簡(jiǎn)單了解標(biāo)準(zhǔn)SQL的update語(yǔ)句三種用法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下2019-06-06
Mysql數(shù)據(jù)庫(kù)之sql基本語(yǔ)句小結(jié)
這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)之sql基本語(yǔ)句,結(jié)合實(shí)例形式總結(jié)分析了MySQL數(shù)據(jù)庫(kù)連接、登錄、查看以及數(shù)據(jù)庫(kù)、數(shù)據(jù)表等常見操作技巧,需要的朋友可以參考下2019-11-11

