SQL Server日常积累
1:
在Sql Server 中增加一列语句:
alter table table_name add column_name [not null] [references ....]
例如在表Major中增加名为AcademicId的一列,设置为不为空,并且设置为外键引用表AcademicId:
alter table Major add AcademicId not null referendes Academic(AcademicId);
2:
怎样删除从表中外键约束的列:
方法如下:
先打个比方,主表为Course,从表为Major,在从表 Major 中 引 用 的 主表 Course 中 的 CourseId,接下来往我们删除CourseId。
先用系统命令找出从表中的约束名,语句为 exec sp_helpconstraint ‘Course’; 在结果中找出外键的名字,例如我找到的是FK__Course__MajorId__1BFD2C07,
那么下一步就可以删除了,语句为 alter table Major drop constraint K__Course__MajorId__1BFD2C07;
完成后就可以检查表是否成功,我是成功了
3:
怎样修改某一表的列属性:
方法:假如要修改表Course的某一列name(原来属性为varchar(20))属性为 text,
可用语句 alter table Course alter column name text
4:
怎样把某一列的属性设置为主键:
方法:假如有一个表myTable,其中要想将表中的列 id(原属性为 int null)设为主键。首先第一步:先把该属性设置为not null,对应的SQL语句为:alter table myTable alter column id int not null.接下来进行第二步:设置该列为主键,对应的sql语句为:alter table myTable add primary key(id); 执行成功后则刷新一遍表,则可看到该表的列id已设置为主键。
5:
怎样修改表字段,使其增加 cascade 属性:
方法:假如有表Score(coureID,stuID,score),(其中 primary key(coureID,stuID) , foreign key(coureID) references Course(courseID) , foreign key(stuID) references Student(stuID) )可知其中涉及了三个表,步骤来来了:
第一步:执行语句 exec sp_helpconstraint 'Score' 从结果中找出外键约束名 FK__Score__stuId__0DAF0CB0;
第二步:删除外键约束 , alter table Score drop constraint FK__Score__stuId__0DAF0CB0;
第三步:添加约束,alter table Score add constraint FK__Score__stuId__0DAF0CB0 foreign key(stuID) references Student(stuID) on delete cascade;
第四步:再次执行 exec sp_helpconstraint 'Score' ,在结果中看看delete_action 那一列的字段值,你所需的那一行的有没有修改为 cascade.如果已经修改则说明本次试验成功。否则,还有其他问题。
最后说明:如果没有外键约束的话可以跳过第二步,直接做第四步,但相应的语句也要改动明:如果没有外键约束的话可以跳过第二步,直接做第四步,但相应的语句也要改动
最后说明:如果没有外键约束的话可以跳过第二步,直接做第四步,但相应的语句也要改动
posted on 2018-10-08 08:24 priarieNew 阅读(234) 评论(0) 编辑 收藏 举报