使用T-SQL创建及修改表

1.创建student(学生信息表)。在数据库XSCJ中创建一个表student,它由学号sno、姓名sname、性别ssex、年龄sage和系部sdept五个属性组成,其中学号属性不能为空。

use XSCJ
create table student   --在数据库XSCJ中创建表student
(
	sno char(15) primary key,    --学生学号sno设为主键
	sname char(8),
	ssex char(2),
	sage int,       --学生年龄,整数类型
	sdept char(15)

)

2.创建course(课程信息表)

use XSCJ
create table course
(
	cno char(5) primary key,   --课程编号cno设为主键
	cname char(20) not NULL,   --课程名称,长度为20的字符类型,不允许为空
	credit int not NULL        --学分,整数类型,不允许为空
)

3.创建sc(学生选课信息表)

use XSCJ
create table sc
(
	sno char(15),
	cno char(5),
	grade int,
	foreign key(sno) references student(sno),
	foreign key(cno) references course(cno),
)

4.为表student增加“入学时间”列,其数据类型为日期型。

alter table student
add enrollment_time datetime  --添加入学时间列enrollment_time

5.将表student的sname列长度改为8。

alter table student
alter column sname char(8)

6.将表student的sage列改为smallint型。

alter table student
alter column sage smallint   --整数数据类型smallint

7.删除student表。

--首先删除从表sc,再删除student主表
use XSCJ
drop table sc

--删除student表
use XSCJ
drop table student

8.为XSCJ数据库中的course添加课程号为主键约束名称为PK_cno。

首先删除原有的没有取名的主键约束,再重新给cno创建主键约束名为PK_cno :

elect name from sys.key_constraints where type ='PK' and OBJECT_NAME(parent_object_id)='course'

alter table course
drop constraint PK__course__D83617556021F7C0

alter table course
add constraint PK_cno primary key(cno)

9.为XSCJ数据库中的选课表sc中的课程号cno建立外键约束。

alter table sc
add constraint FK_CNO foreign key(cno) references course(cno)

10.修改student表的sname列为唯一约束。

--创建唯一约束
alter table student
add constraint UN_sname unique(sname)

11.在sc表中,限制grade列的值只能在0~100之间。

alter table sc
add constraint ch_g check(grade>=0 and grade<=100) 

小结:

创建sc(学生选课信息表)时出现错误:

原因:创建student表和course表时关闭了程序,切断了联系,再次打开引用新建查询创建sc时才出现图片中的错误“引用了无效的表student和course”。

解决:删除已有的student表和course表,重新创建student表、course表和sc表在同一个“新建查询”中执行,亲测有效。

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@小小欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值