17 ALTER TABLE的用法


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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM