91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql數據庫改名的三種方法

發布時間:2020-08-05 22:32:26 來源:網絡 閱讀:1063 作者:李伯億 欄目:數據庫

前不久去面試,被問到Innodb引擎的表如何改數據庫名,當時我也只回答了MyISAM改如何操作,被一些細節問題打敗,真是操蛋。

如果表示MyISAM那么可以直接去到數據庫目錄mv就可以。

Innodb完全不行,自己測試過,會提示相關表不存在。

 

第一種方法:

RENAME database olddbname TO newdbname

這個是5.1.7到5.1.23版本可以用的,但是官方不推薦,會有丟失數據的危險

 

第二種方法:

1.創建需要改成新名的數據庫。
2.mysqldum 導出要改名的數據庫
3.刪除原來的舊庫(確定是否真的需要)
當然這種方法雖然安全,但是如果數據量大,會比較耗時,哎,當時連這種方法都沒有想到,真有想死的沖動。

 

第三種方法:

我這里就用一個腳本,很簡單,相信大家都看的懂

復制代碼

#!/bin/bash
# 假設將sakila數據庫名改為new_sakila
# MyISAM直接更改數據庫目錄下的文件即可
mysql -uroot -p123456 -e 'create database if not exists new_sakila'

list_table=$(mysql -uroot -p123456 -Nse "select table_name from information_schema.TABLES where TABLE_SCHEMA='sakila'")

for table in $list_table
do
    mysql -uroot -p123456 -e "rename table sakila.$table to new_sakila.$table"
done

這里用到了rename table,改表名的命令,但是如果新表名后面加數據庫名,就會將老數據庫的表移動到新的數據庫,所以,這種方法即安全,又快速。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

山东省| 灵川县| 辉县市| 辰溪县| 云南省| 四川省| 广饶县| 前郭尔| 南雄市| 栾城县| 会东县| 乌审旗| 武陟县| 施秉县| 伊金霍洛旗| 于都县| 吴忠市| 湘西| 嘉善县| 长寿区| 乌什县| 延寿县| 苏州市| 江津市| 太湖县| 奈曼旗| 石家庄市| 海兴县| 贡觉县| 无棣县| 凌源市| 彩票| 正阳县| 吐鲁番市| 肇州县| 芒康县| 台州市| 志丹县| 海盐县| 九龙坡区| 安西县|