用SQL命令修改数据表
SQL 使用 ALTER TABLE 命令来完成这一功能,有一下三种修改方式
(1)ADD 方式
ADD方式用于增加新列和完整性约束,其语法格式为:
alter table <表名> add <列定义> | <完整性约束定义>
例如
在S表中增加 email 列,且要求输入的 email 必须包括"@"
alter table S add email varchar(20) constraint S_Chk check(email like '%@%')
(2)ALTER 方式
ALTER 方式用于修改某些列,其语法格式为
alter table <表名> alter column <列名> <数据列名> [null |not null]
注意:
-
不能改变列名
-
不能将含有空值的列的定义修改为 NOT NULL 约束
-
若列中已有数据,则不能减少该列的宽度,也不能改变其数据类型
-
只能修改 null / not null 约束,其他类型的约束在修改之前必须先将约束删除,然后再重新添加修改过的约束定义
例如
把 S 表的 SN 列加宽到12个字符并不允许空值
alter table S alter column SN char(12) not null
(3)DROP方式
DROP方式只用于删除完整性约束定义或删除列和表,其语法格式为:
alter table <表名> drop constraint <约束名> //删除约束
alter table <表名> drop column <列名> //删除列
drop table <表名> //删除表
例如
删除S表中的主键
alter table S drop constraint S_Prim