4.4
創(chuàng)新互聯(lián)基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺為眾多戶提供四川樂山服務(wù)器托管 四川大帶寬租用 成都機柜租用 成都服務(wù)器租用。
MySQL數(shù)據(jù)表的修改
在MySQL中,允許對創(chuàng)建好的數(shù)據(jù)表進(jìn)行修改,修改時可以有以下幾種形式:修改表名、修改字段名、修改字段類型、修改字段排列位置、添加字段、刪除字段、添加字段約束、刪除約束等,它們一般都是使用“Alter table表名”命令,但后跟的具體參數(shù)不同,下面分別介紹其語句格式。
4.4.1修改表名
語句格式一:Alter table表名RENAME [TO] 新表名;
語句格式二:RENAME TABLE 表名 TO 新表名;
在上面語句格式中,“表名”為要更名的表,“新表名”為要更改成的表名,格式一中參數(shù)“TO”可以省略。
下面截圖中的“ALTER TABLE”語句將dept更名為t_dept。
1. 修改表的名字
alter table table_name rename table_new_name;
其中,table_name是舊表名,table_new_name是新表名。
2.修改字段的數(shù)據(jù)類型
語法: alter table 表名 modify 字段名 數(shù)據(jù)類型
3.修改字段名
語法: alter table 表名 change 舊字段名 新字段名 新數(shù)據(jù)類型
可以。使用phpmyadmin,可以直接修改Mysql庫的user表。user表是MySQL中最重要的一個權(quán)限表,用來記錄允許連接到服務(wù)器的賬號信息。需要注意的是,在user表里啟用的所有權(quán)限都是全局級的,適用于所有數(shù)據(jù)庫。
Online DDL 工具:pt-osc
對于 MySQL Online DDL 目前主流的有三種工具:
原生 Online DDL;
pt-osc(online-schema-change),
gh-ost
本文主要講解 pt-online-schema-change 的使用以及三種工具的簡單對比。
一、原理及限制
1.1 原理
1.?創(chuàng)建一個與原表結(jié)構(gòu)相同的空表,表名是?_new?后綴;
2. 修改步驟 1 創(chuàng)建的空表的表結(jié)構(gòu);
3. 在原表上加三個觸發(fā)器:delete/update/insert,用于 copy 數(shù)據(jù)過程中,將原表中要執(zhí)行的語句在新表中執(zhí)行;
4. 將原表數(shù)據(jù)以數(shù)據(jù)塊(chunk)的形式 copy 到新表;
5. rename 原表為 old 表,并把新表 rename 為原表名,然后刪除舊表;
6. 刪除觸發(fā)器。
工具/材料
Navicat For MySQL
01
打開Navicat for MySQL,找到一個數(shù)據(jù)庫,然后右鍵單擊表,選擇新建表選項,如下圖所示
02
在彈出的新建表界面,我們給表建一些字段,如下圖所示,建好之后保存即可
03
建好的表會在數(shù)據(jù)庫的右側(cè)界面顯示出來,需要查看哪個表直接選擇即可
04
下面我們在test數(shù)據(jù)庫中新建一個查詢,通過alter table語句修改表中的age字段不為空,如下圖所示
以windows為例
方法一(假設(shè)mysql在d:\mysql目錄下)
1、用系統(tǒng)管理員登陸windows系統(tǒng)。
2、停止MySQL的服務(wù)。
3、運行cmd進(jìn)入dos命令窗口,然后進(jìn)入MySQL的安裝目錄,比如安裝目錄是d:\mysql,進(jìn)入d:\mysql\bin (如果是c:\Program Files\mysql目錄,目錄包含空格,使用cd "c:\Program Files\mysql"進(jìn)入mysql目錄)
4、跳過權(quán)限檢查啟動MySQL(關(guān)鍵的一步)
d:\mysql\binmysqld-nt --skip-grant-tables(會占用一個dos控制臺窗口,不能關(guān)閉)
5、重新打開一個dos控制臺窗口,進(jìn)入d:\mysql\bin目錄,設(shè)置root的新密碼
d:\mysql\binmysqladmin -u root flush-privileges password 【新密碼】
(注意:這條命令如果重復(fù)執(zhí)行,可能需要關(guān)閉4的窗口并重新運行)
d:\mysql\binmysqladmin -u root -p shutdown(或直接關(guān)閉第一個dos控制臺窗口)
將【新密碼】替換為你要用的root的密碼,第二個命令可能會提示你輸入新密碼,重復(fù)第一個命令輸入的密碼。
6、關(guān)閉MySQL的控制臺窗口,用正常模式啟動Mysql
7、你可以用新的密碼鏈接到Mysql了。
方法二
1、停止mysql服務(wù)
2、找到mysql數(shù)據(jù)的data目錄,將另外一個mysql的data目錄下的mysql目錄覆蓋過來(如果知道root密碼)
(操作之前先備份mysql\data\mysql目錄的所有文件)
這種方法缺點:覆蓋掉其他的用戶,mysql的版本需相同
3、重新啟動mysql服務(wù)