1. 程式人生 > 其它 >MySQL資料表基本操作{記錄3}{修改表}{刪除表}

MySQL資料表基本操作{記錄3}{修改表}{刪除表}

修改資料表:用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,在開頭新增欄位 

ALTER
TABLE 表名 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;