17.1 ALTER TABLE作用
用於在已有的表中添加、修改或刪除列。當我們新建了一個表之后,想對其進行修改,可以使用它。
17.2 添加列語句
語法:
ALTER TABLE table_name ADD column_name datatype;
舉例,給"Customers"表增加一列“年齡”:
ALTER TABLE Customers ADD 年齡 INT;
--沒有設定值,年齡列默認都是NULL值(空值)
17.3 刪除列語句
語法:
ALTER TABLE table_name DROP COLUMN column_name;
舉例,刪除“Customers”表中的“年齡”列:
ALTER TABLE Customers DROP COLUMN 年齡;
17.4 修改列類型語法
語法:
ALTER TABLE table_name ALTER COLUMN column_name datatype;
舉例,將“Customers”表的“郵編”由CHAR類型改為INT類型
ALTER TABLE Customers ALTER COLUMN 郵編 INT;
17.5 添加NOT NULL約束語法
語法:
ALTER TABLE table_name ALTER COLUMN column_name datatype NOT NULL;
舉例,將“Customers”表中的“省份”由NULL約束改為NOT NULL約束:
ALTER TABLE Customers ALTER COLUMN 省份 VARCHAR(20) NOT NULL;
17.6 添加唯一約束的方法
語法:
ALTER TABLE table_name ADD CONSTRAINT MyUniqueConstraint UNIQUE(column1,column2...);
舉例,可以給“Customers”表中的“姓名”添加唯一約束:
ALTER TABLE Customers ADD CONSTRAINT idx_姓名 UNIQUE(姓名);
17.7 添加CHECK約束語法
語法:
ALTER TABLE table_name ADD CONSTRAINT MyUniqueConstraint CHECK(CONDITION);
舉例,給“Customers”表中的“客戶ID”添加CHECK約束,必須大於0:
ALTER TABLE Customers ADD CONSTRAINT con_客戶ID CHECK(客戶ID>0);
17.8 添加主鍵約束語法
語法:
ALTER TABLE table_name ADD CONSTRAINT MyPrimaryKey PRIMARY KEY(column1,column2...);
舉例,給“Customers”表中的“客戶ID”添加主鍵約束,必須大於0:
ALTER TABLE Customers ADD CONSTRAINT pri_客戶ID PRIMARY KEY(客戶 ID);
17.9 刪除約束語法
語法:
ALTER TABLE table_name DROP CONSTRAINT MyUniqueConstraint;
舉例,將剛才建的CHECK約束刪除掉:
ALTER TABLE Customers DROP CONSTRAINT con_客戶 ID;
注意:如果使用的是MySQL,代碼應當如下:
ALTER TABLE table_name DROP INDEX MyUniqueConstraint;