mysql的decode函數(shù)與oracle的decode函數(shù)是不一樣的,mysql的decode函數(shù)是解密函數(shù),與之對(duì)應(yīng)的是encode函數(shù)。
十載的建德網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整建德建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“建德網(wǎng)站設(shè)計(jì)”,“建德網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
encode加密函數(shù)
decode解密函數(shù)
select encode('ddss','123');第一個(gè)參數(shù)為加密字符串、第二個(gè)參數(shù)為加密密碼
MySQL 5.7中不推薦使用encode、decode函數(shù),會(huì)在后續(xù)版本中刪除,不再使用。
mysql中執(zhí)行help encode或? functions,查看幫助信息。
mysql -uroot -p 輸入密碼回車后,出現(xiàn)如下圖錯(cuò)誤。這時(shí)候需要我們破解密碼。
service mysqld stop //先停止mysql服務(wù)。
然后打開mysql配置文件/etc/my.cnf.在【mysqld】下面添加一行代碼:skip-grant-tables。這行代碼意思就是跳過(guò)跳過(guò)授權(quán)表,即是可以跳過(guò)密碼驗(yàn)證直接進(jìn)入數(shù)據(jù)庫(kù)。
service mysqld restart //重啟mysql數(shù)據(jù)庫(kù)。假如不重啟的話,不會(huì)生效。
mysql -uroot -p //此時(shí)直接回車,既可以進(jìn)入數(shù)據(jù)庫(kù)。
出現(xiàn)mysql就說(shuō)明你已經(jīng)進(jìn)入到mysql數(shù)據(jù)庫(kù)里了。
進(jìn)數(shù)據(jù)庫(kù)后,
use mysql //選擇mysql這個(gè)庫(kù),因?yàn)閙ysql的root密碼存放在這個(gè)數(shù)據(jù)庫(kù)里。
show tables //查看下mysql庫(kù)里有哪些表,我們需要操作的用戶名密碼都在user表里。
desc user //查看下user表有哪些字段
更改root密碼。
update user set password=password('123456') where user="root"; //用戶選root,可以隨便更改成任意密碼,我這里設(shè)置的123456,password()是mysql密碼加密的一個(gè)函數(shù)。
flush privileges; //刷新下密碼,使更改的生效。
exit //退出數(shù)據(jù)庫(kù)。
退出數(shù)據(jù)庫(kù),重新登錄
mysql -uroot -p //回車輸入剛剛更改的密碼,就能進(jìn)去了。
然后再次進(jìn)入配置文件vi /etc/my.cnf 把skip-grant-tables去掉。
在ORACLE數(shù)據(jù)庫(kù)里decode函數(shù)實(shí)現(xiàn)的功能,于MySQL數(shù)據(jù)庫(kù)里可以使用case when函數(shù)來(lái)替代;
MySQL數(shù)據(jù)庫(kù)的decode函數(shù)是解密函數(shù),它是加密函數(shù)encode的反函數(shù),與ORACLE數(shù)據(jù)庫(kù)里decode函數(shù)實(shí)現(xiàn)的功能完全不同。
ORACLE數(shù)據(jù)庫(kù)里decode函數(shù)相當(dāng)于MySQL數(shù)據(jù)庫(kù)里的case when函數(shù),只是前者看起來(lái)更加緊湊。