SQL Server日常积累

时间:2024-05-23 13:04:20
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.如果已经修改则说明本次试验成功。否则,还有其他问题。
最后说明:如果没有外键约束的话可以跳过第二步,直接做第四步,但相应的语句也要改动明:如果没有外键约束的话可以跳过第二步,直接做第四步,但相应的语句也要改动
最后说明:如果没有外键约束的话可以跳过第二步,直接做第四步,但相应的语句也要改动