我們?cè)诎惭b織夢(mèng)系統(tǒng)的時(shí)候,有一次批量修改mysql數(shù)據(jù)庫(kù)表前綴的機(jī)會(huì),就是在安裝的時(shí)候,可以自定義數(shù)據(jù)庫(kù)表前綴。但是往往第一次安裝的時(shí)候很多用戶會(huì)忽略,一般都會(huì)選擇默認(rèn)安裝,但是隨著網(wǎng)站開發(fā)和應(yīng)用的越來(lái)越多的需求,有的時(shí)候我們希望我們的數(shù)據(jù)庫(kù)表前綴和默認(rèn)的不一樣,這樣也讓我們的數(shù)據(jù)庫(kù)安全性得到了提升,雖然我們?yōu)樾薷谋碜隽藃ename,但是rename只能一次修改一個(gè)表的名字并不能批量處理,如果我們要批量處理數(shù)據(jù)庫(kù)表的話,我們就需要使用遍歷來(lái)操作,下面跟隨武林網(wǎng)來(lái)看下如何批量修改mysql表前綴與表名。
使用sql語(yǔ)句修改dede的mysql數(shù)據(jù)庫(kù)表前綴名:
1.請(qǐng)看下面的介紹步驟
Select CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO ', table_name,';' ) FROM information_schema.tables Where table_name LIKE 'hx_%';
注意: like ‘hx_%’ 其中 hx_是你需要替換的表前綴.
放在sql執(zhí)行器里面執(zhí)行,會(huì)把所有hx_前綴的表全部列出來(lái)。這個(gè)時(shí)候?qū)С鰐xt,刪除不相關(guān)的語(yǔ)句,留 alter table就可以,然后批量替換 RENAME TO hx 成 RENAME TO 你想要的表前綴;然后在sql執(zhí)行器執(zhí)行。
2.織夢(mèng)dede的data目錄中的$cfg_dbprefix = '改為現(xiàn)在的表前綴_';
重新登錄后臺(tái)看看。
如果是通過備份還原文件,也是可以,就是麻煩些,備份后,下回來(lái)backdata文件夾里所有文件,把所有文件打開,替換里面表前綴,然后所有帶有表前綴的文件名也改為新的表前綴,再上傳dede中備份還原,記得上傳前,先把空間里原來(lái)備份刪除。
如果是要批量刪除所有帶有hx_表,可以用以下方式,同樣先到phpmyadmin中的mysql執(zhí)行器,輸入以下sql語(yǔ)句
Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'hx_%';
說明: like ‘hx_%’ 其中 hx_是你需要替換的表前綴.
執(zhí)行查詢,會(huì)自動(dòng)生成出 drop table table_name這樣的SQL語(yǔ)句.
然后復(fù)制 drop語(yǔ)句 可以執(zhí)行刪除的操作了.
以上就是織夢(mèng)快速批量修改MYSQL數(shù)據(jù)庫(kù)表前綴與表名實(shí)例操作的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)和解決疑問有所幫助,也希望大家多多支持武林網(wǎng)。新聞熱點(diǎn)
疑難解答
圖片精選