sql server数据库添加主键、外键、唯一键(单一、联合),添加、删除非聚集索引的sql语句

给表添加主键:alter table  表名 add constraint  主键名  primary key(字段名)

如:alter table DC_ALARM add constraint PK_ALARMID primary key(ALARMID)
给表添加唯一键:alter table 表名 add constraint  唯一键名 unique(字段名)

如:alter table DC_FACTOR add constraint UQ_COLUMNCODE unique(COLUMNCODE)
给表添加外键:alter table 需要添加外键的表名 add constraint 外键名 foreign key(需要设置为外键的字段)  references 被引用表表名(被引用字段)

alter table DC_APP_NOTICE add constraint FK_APP_NOTICE_USERID foreign key(id)  references DC_USER(id)

drop INDEX idx_DC_ALARM_lookup ON  DC_ALARM --删除索引
ALTER TABLE DC_ALARM ALTER COLUMN [ALARMID] varchar(50) not NULL;   --设置某一列不为null
CREATE NONCLUSTERED INDEX idx_DC_ALARM_lookup ON DC_ALARM(ALARMID,MONITORTYPE)--创建非聚集索引
alter table DC_ALARM add constraint UQ_DC_ALARM unique (FACTORCODE,TIME,MONITORTYPE,VALUE,MN )--添加联合唯一键

select count (FACTOR),MONITORTYPE,MN from DC_ALARM_LIMIT group by FACTOR,MONITORTYPE,MN--查询重复行
DELETE FROM DC_ALARM_LIMIT   where  id  not  in (     
select   max(id)   from   DC_ALARM_LIMIT   group   by   FACTOR,MONITORTYPE,MN   
)    --删除重复行中最大行外的所有行

猜你喜欢

转载自blog.csdn.net/bird_tp/article/details/84070635