SQL server 实验三

来源:互联网 发布:ubuntu如何安装flash 编辑:程序博客网 时间:2024/05/20 04:14

4.使用T-SQL语句创建表:

1)创建第1题中的student表,要求:

①sno列为主键;

②除monitor可为空值外,其他列不能为空;

③ssex列的默认值设为“男”;。

④monitor为外键,参照自身表的sno列。

向该表中添加两条记录

2)创建第1题中的score表,要求:

①sno列和cno列的组合为主键;

②degree列的取值在0到100之间;

③sno列为外键,参照student表的sno列;

④cno列为外键,参照course表的cno列。

CREATE TABLE student( sno char(5) PRIMARY KEY,--主键为NOT NULL,如果字段属性值为空则默认为NULL sname char(10) NOT NULL, ssex char(2) default('男') NOT NULL,--default('默认值')//设置默认值 sbirthday date NOT NULL, sclass char(10) NOT NULL, monitor char(5)  foreign key references student(sno)--foreign key regerences 另一张表(外关键字段名)//在定义的时候创建外关键约束)--//如何创建实例???如下insert into student VALUES('250','as','男','2017-01-01','23','250')insert into student VALUES('230','ES','女','2018-07-02','24','230')CREATE TABLE score(sno char(5) NOT NULL ,cno char(6) Primary Key(sno,cno),degree float check(degree>=0 and degree<=100),--约束范围check( or )  //check( and )--以下代码是在创建表的过程中创建外键约束CONSTRAINT tt --tt是约束名FOREIGN KEY(sno)REFERENCES student(sno),CONSTRAINT ttt FOREIGN KEY(cno)REFERENCES course(cno))--ALTER TABLE score    --如何给字段约束范围????这个方法运行出错,以后追究!!上面创建表的过程中那个方法可用--ADD constrainst dde check (degree>=0 and degree<=100) --以上这两句来限定字段的取值范围--ALTER TABLE score       --对现有的表,创建外键约束--WITH CHECK--ADD FOREIGN KEY(sno)    --sno 是外键表中(当前表)的外关键字段名--REFERENCES student(sno) --student指的是主键表名,即sno这个外键所要所要关联的主键表--ALTER TABLE score--WITH CHECK--ADD FOREIGN KEY(cno)--REFERENCES course(cno)

5.使用T-SQL语句修改表

1)修改teacher表,向该表中添加一列communist(是否党员),类型为逻辑型(bit)。

         2)修改course表,添加一列cpno(先行课),类型为char(6),设该列为外键,参照自身表的cno列,添加cname列的值唯一约束。

         3)删除student表的monitor列。

--ALTER TABLE teacher ADD communist bit  --创建列--ALTER TABLE Course ADD cpno char(6) NOT NULL   --创建列ALTER TABLE Course ADD cname char(8) UNIQUE--唯一约束,一个表中可有多个唯一约束ALTER TABLE Course    --将cpno约束为Course即它本身的外键WITH CHECK ADD FOREIGN KEY(cpno)REFERENCES Course(cno)ALTER TABLE student  --删除列DROP COLUMN monitor


0 0
原创粉丝点击