⑴ 資料庫改名字怎麼修改
被取消的命令MySQL 之前提供了一個 rename database db_old to db_new 的命令來直接對資料庫改名,可能由於實現的功能不完備(比如,這條命令可能是一個超大的事務,或者是由於之前的表很多還是 MyISAM 等),後來的版本直接取消了這條命令。更改資料庫名大致上有以下幾種方案:
一、mysqlmp 導入導出要說最簡單的方法,就是直接用 mysqlmp 工具,在舊庫導出再往新庫導入(最原始、最慢、最容易想到)的方法:舊庫 yttdb_old 導出(包含的對象:表、視圖、觸發器、事件、存儲過程、存儲函數)
二、改整庫的表名利用 MySQL 更改表名的方法來批量把舊庫的所有表依次遍歷,改名為新庫的表。這種方法比第一種要快很多倍,但是沒有第一步操作起來那麼順滑,不能一步到位。比如,要把資料庫 yttdb_old 改名為 yttdb_new,如果資料庫 yttdb_old 里只有磁碟表,那很簡單,直接改名即可。或者寫個腳本來批量改,非常簡單。但是一般舊庫里不只有磁碟表,還包含其他各種對象。這時候可以先考慮把舊庫的各種對象導出來,完了在逐一改完表名後導進去。
三、歷史方案其實在 MySQL 早期還有一種方法。假設 MySQL 部署好了後,所有的 binlog 都有備份,並且二進制日誌格式還是 statement 的話,那就可以簡單搭建一台從機,讓它慢慢追主機到新的庫名,等確切要更改舊庫的時候,再直接晉升從機為主機即可。這里只需要從機配置一個參數來把舊庫指向為新庫:replicate-rewrite-db=yttdb_old->yttdb_new不過這種局限性很大,不具備標准化,不推薦。
總結其實針對 MySQL 本身改庫名,大致就這么幾種方法:
⑵ 如何修改sql server資料庫 表列名
解決:
在SQLServer中修改表的列名,可以調用存儲過程sp_rename。
[sql]
use Test;--使用數據回庫
sp_rename 'd_s_t.avg_grade','avg_g','column';
--d_s_t是表名,答avg_grade是原來的列名,avg_g是新的列名
--也可以這樣執行:
-- exec sp_rename 'd_s_t.avg_grade','avg_g','column';
注意:
1. avg_g前面不要有表名,否則,更改後的列名為d_s_t. avg_g。
2. 更改成功後會有這樣一個警告:「注意: 更改對象名的任一部分都可能會破壞腳本和存儲過程」。不用理會,這是正常的。
⑶ 如何修改MySQL資料庫名稱
修改MySQL資料庫抄名稱的方法如下:
1.語句修改法:
RENAME DATABASE db_name TO new_db_name
這個語法在mysql 5.1.7中被添加進來,到了5.1.23又去掉了。
2.如果所有表都是MyISAM類型的話,可以改文件夾的名字
把data目錄中的db_name目錄重命名為new_db_name
3.重命名所有的表
代碼如下:
⑷ 怎樣在mysql裡面修改資料庫名稱
常見的主要有三種方並升孝法:
如果所有表都是MyISAM類型的話,可以直接修改文件夾的名字。
關閉mysql→把data目錄中的db_name目錄重命名為new_db_name→開啟mysql
新建資料庫,在新的資料庫里重絕稿命名所有舊資料庫中的表,再刪除舊的資料庫。具體操作命令如下:創建新的資料庫→重命名數據表名稱→刪除舊的資料庫。笑塌
CREATE DATABASE new_db_name;
RENAME TABLE db_name.table1 TO new_db_name.table1,db_name.table2 TO new_db_name.table2;
DROP DATABASE db_name;
利用mysqlmp命令從舊的數據導出數據,再導入新資料庫。具體操作命令如下:導出數據→創建新的資料庫→導入數據→刪除舊的資料庫。
mysqlmp -u root -p -h ip db_name > db_name_mp.SQL
mysql -u root -p -h ip -e 「CREATE DATABASE new_db_name」
mysql -u root -p -h ip new_db_name < db_name_mp.SQL
mysql -u root -p -h ip -e 「DROP DATABASE db_name」