MySQL資料表基本操作{記錄3}{修改表}{刪除表}
阿新 • • 發佈:2022-04-11
修改資料表:用ALTER TABLE語句
語法為
ALTER TABLE 表名 修改選項
1,新增欄位{在開頭} {在中間}[在末尾}
1.1在末尾新增欄位[兩種方法]
1.1.1
ALTER TABLE 表名 ADD 欄位名 資料型別 約束條件;
1.1.2
ALTER TABLE 表名 ADD COLUMN 欄位名 資料型別 約束條件;
暫未發現兩種方式有什麼區別
例:在資料表office新增favoriate欄位,資料型別為VARCHAR(100)
ALTER TABLE office ADD favoriate VARCHAR(100);
1.2,在開頭新增欄位
ALTERTABLE 表名 ADD 新欄位名 資料型別 約束條件 FIRST;
1.3在中間新增欄位[使用AFTER關鍵字]
ALTER TABLE 表名 ADD 新欄位名 資料型別 約束條件 AFTER 已存在的欄位名;
2,修改欄位名
ALTER TABLE 表名 CHANGE 舊欄位名 新欄位名 資料型別;
例:將office表中將city改為work_city資料型別為INT型別
ALTER TABLE office CHANGE city work_city INT;
3,修改欄位型別
ALTER TABLE 表名 MODIFY 欄位名 新資料型別;
例:修改office表中sex欄位,資料型別為char(1),非空約束
ALTER TABLE office MODIFY sex CHAR(1) NOT NULL;
4,修改欄位在表中位置[將某欄位放到某欄位後面]
ALTER TABLE 表名 MODIFY 要修改的欄位 欄位型別 AFTER 已存在的欄位;
例:將表office的mobile欄位修改到officecode欄位後面
ALTER TABLE office MODIFY mobile VARCHAR(25) AFTER officeCode;
5,刪除欄位
ALTER TABLE 表名 DROP 欄位名;
例:刪除office表中欄位note
ALTER TABLE office DROP note;
6,修改表名{RENAME關鍵字}
ALTER TABLE 舊錶名 RENAME 新表名;
例:將表office名稱修改為office_info
ALTER TABLE office RENAME office_info;
7,修改表的儲存引擎
ALTER TABLE 表名 ENGINE=儲存引擎;
例:修改表office儲存引擎為MyISAM
ALTER TABLE office ENGINE=MyISAM;
8,修改表字符集
ALTER TABLE 表名 CHARACTER SET 字符集名 COLLATE 校對規則名;
例:將資料表office的字符集修改為 gb2312,校對規則修改為 gb2312_chinese_ci
ALTER TABLE office CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;
刪除表:用DROP語句
DROP TABLE 表名;
1,刪除與其他表關聯的表
如表office為父表,office_x為子表,且office_x有名為fk_office的外來鍵約束,父表中有ID被子表所關聯
首先取消兩表之間的關係:
1.1,解除子表office_x表的外來鍵約束fk_office
ALTER TABLE office_x DROP FOREIGN KEY fk_office;
1.2,刪除表
DROP TABLE office;