4.4
十余年專注成都網(wǎng)站制作,企業(yè)網(wǎng)站制作,個(gè)人網(wǎng)站制作服務(wù),為大家分享網(wǎng)站制作知識(shí)、方案,網(wǎng)站設(shè)計(jì)流程、步驟,成功服務(wù)上千家企業(yè)。為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),專注于企業(yè)網(wǎng)站制作,高端網(wǎng)頁制作,對(duì)成都搬家公司等多個(gè)方面,擁有豐富設(shè)計(jì)經(jīng)驗(yàn)。
MySQL數(shù)據(jù)表的修改
在MySQL中,允許對(duì)創(chuàng)建好的數(shù)據(jù)表進(jìn)行修改,修改時(shí)可以有以下幾種形式:修改表名、修改字段名、修改字段類型、修改字段排列位置、添加字段、刪除字段、添加字段約束、刪除約束等,它們一般都是使用“Alter table表名”命令,但后跟的具體參數(shù)不同,下面分別介紹其語句格式。
4.4.1修改表名
語句格式一:Alter table表名RENAME [TO] 新表名;
語句格式二:RENAME TABLE 表名 TO 新表名;
在上面語句格式中,“表名”為要更名的表,“新表名”為要更改成的表名,格式一中參數(shù)“TO”可以省略。
下面截圖中的“ALTER TABLE”語句將dept更名為t_dept。
Online DDL 工具:pt-osc
對(duì)于 MySQL Online DDL 目前主流的有三種工具:
原生 Online DDL;
pt-osc(online-schema-change),
gh-ost
本文主要講解 pt-online-schema-change 的使用以及三種工具的簡(jiǎn)單對(duì)比。
一、原理及限制
1.1 原理
1.?創(chuàng)建一個(gè)與原表結(jié)構(gòu)相同的空表,表名是?_new?后綴;
2. 修改步驟 1 創(chuàng)建的空表的表結(jié)構(gòu);
3. 在原表上加三個(gè)觸發(fā)器:delete/update/insert,用于 copy 數(shù)據(jù)過程中,將原表中要執(zhí)行的語句在新表中執(zhí)行;
4. 將原表數(shù)據(jù)以數(shù)據(jù)塊(chunk)的形式 copy 到新表;
5. rename 原表為 old 表,并把新表 rename 為原表名,然后刪除舊表;
6. 刪除觸發(fā)器。
4.4.4修改字段排列位置
語句格式:ALTER TABLE 表名 MODIFY 字段名?數(shù)據(jù)類型FIRST|AFTER 字段名2;
此語句從格式上看比上面的修改字段數(shù)據(jù)類型語句多了一個(gè)參數(shù),即在上面的修改字段數(shù)據(jù)類型語句的最后增加了一個(gè)字段位置參數(shù),這個(gè)字段位置參數(shù)可以選擇“FIRST”或“AFTER 字段名2”中的一個(gè)。當(dāng)選擇“FIRST”參數(shù)時(shí)表示將指定字段調(diào)至第一個(gè)字段;當(dāng)選擇“AFTER 字段名2”時(shí)表示將指定字段調(diào)至“字段名2”所指字段的后面。
下面截圖中的“ALTER TABLE”語句將t_dept表中l(wèi)oc字段的位置由原來第三的位置調(diào)至了第一。
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ù)類型
1、在文件-新建裝換。新建轉(zhuǎn)換后在左邊的主對(duì)象樹中建立DB連接用以連接數(shù)據(jù)庫。建立數(shù)據(jù)庫連接的過程與其他數(shù)據(jù)庫管理軟件連接數(shù)據(jù)庫類似。
2、簡(jiǎn)單的數(shù)據(jù)表插入,更新在面板中選擇“核心對(duì)象”,在核心對(duì)象里面選擇輸入到表輸入,用鼠標(biāo)拖動(dòng)到右邊面板。
3、雙擊拖過來的表,可以編輯表輸入。選擇數(shù)據(jù)庫連接和編輯sql語句,在這一步可以點(diǎn)擊預(yù)覽,查看自己是否連接正確。
4.4.3修改字段類型
語句格式:ALTER TABLE 表名 MODIFY 字段名?數(shù)據(jù)類型;
在上面語句格式中,“表名”指定要修改的是哪個(gè)表,“MODIFY”表示要修改表中字段數(shù)據(jù)類型,“字段名”指定要修改表中哪個(gè)字段(的數(shù)據(jù)類型),“數(shù)據(jù)類型”指定表中字段要修改成的新數(shù)據(jù)類型。
下面截圖中的“ALTER TABLE”語句將t_dept表中deptno字段數(shù)據(jù)類型由原來的 int(10)修改為varchar(20)。