sqlserver 修改表和字段和约束

修改表名

EXEC sp_rename '原表名', '新表名';

修改字段名

EXEC sp_rename '[表名].[字段名]','新字段名' ;

添加字段

alter table 表名 add 列名 字段类型;

如果字段不为空,需要先添加一个默认值
alter table 表名 add 列名 字段类型 not null default 0

修改字段类型

alter table 表名 alter column 字段名 字段类型;

删除字段

alter table 表名 drop column 字段名;

修改字段为允许为空

ALTER TABLE 表名 ALTER COLUMN [字段名] 类型 NULL;

例如,修改table1的username字段为允许为null
ALTER TABLE table1 ALTER COLUMN [username] VARCHAR(50) NULL;

修改字段约束

要想删除字段约束,第一步应查询当前字段所在表的所有约束

语法:

select * from sysobjects where parent_obj in(select id from sysobjects where name='表名')
或者:exec sp_helpconstraint @objname='表名'

如:select * from sysobjects where parent_obj in(select id from sysobjects where name='Evl_EvluationProsPlan')

然后执行删除约束(也可以直接执行删除约束语法,不查询)

语法:

ALTER TABLE 表名 DROP CONSTRAINT 约束名

如:ALTER TABLE Evl_EvluationProsMarkGroup DROP CONSTRAINT FK__Evl_Evlua__Evlua__45472A22

增加约束:

Alter Table 表名
Add Constraint  约束名 约束类型 具体的约束类型  


---添加主键约束   
Alter Table stuInfo   
Add Constraint  PK_stuNO primary Key(stuNo[,...n])   
---添加唯一约束   
Alter Table stuInfo   
Add Constraint UQ_stuID unique(stuID)   
---添加默认约束   
Alter Table stuInfo   
Add Constraint DF_stuAddress default('地址不详') for stuAddress   
---添加检查约束   
Alter Table stuInfo   
Add Constraint CK_stuAge check(stuAge between 15 and 40)   
---添加外键约束   
Alter Table stuMarks   
Add Constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)  

posted @ 2022-06-23 17:24  青仙  阅读(932)  评论(0编辑  收藏  举报