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