数据库原理实验报告3

SQL语句的初步学习
首先,新建一个名为“wang”的新用户,路径如下
在这里插入图片描述
刷新后可以在用户下看到“wang”
在这里插入图片描述
例3.1
为用户wang定义一个学生-课程模式S-T
在这里插入图片描述
刷新后,可在架构下找到
在这里插入图片描述
例3.2 CREATE SCHEMA AUTHORIZATION wang;

该语句没有指定<模式名>,<模式名>隐含为<用户名>
(SQL server 中,默认用户为 dbo,在没有创建模式的情况下,默认的模
式名为dbo,所以表名为dbo.*。 )
在这里插入图片描述
例3.3 为用户wang创建了一个模式TEST,并且在其中定义一个表TAB1:
在这里插入图片描述
例3.4 DROP SCHEMA WANG CASCADE;
CASCADE(级联) RESTRICT(限制)
删除模式wang,同时该模式中定义的表TAB1也被删除
这个过程中发现,必须要将CASCADE删去才不报错,而且想要删除某模式,必须先将与其相关联的对象全部删除,否则也会报错。

例3.5 建立“学生”表Student。学号是主码,姓名取值唯一
例3.6 建立一个“课程”表Course
例3.7 建立一个学生选课表SC

在这里插入图片描述
运行时出现以下错误,原来不知道什么时候变成了中文半角,而SQL语言只支持英文半角
在这里插入图片描述
在这里插入图片描述
刷新后可以看到我们刚刚新建的表
在这里插入图片描述
例3.8 向Student表增加“入学时间”列,其数据类型为日期型
在这里插入图片描述
例3.9 将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。

ALTER TABLE Student ALTER COLUMN Sage INT;

例3.10 增加课程名称必须取唯一值的约束条件。

ALTER TABLE Course ADD UNIQUE(Cname);

例3.11]删除Student表

DROP TABLE Student CASCADE;

SQL server不支持CASCADE,要手动将Course 和 Sc两个表删除后执行DROP TABLE Student才可删除表Student。因为Course和SC与Student表有关联

例3.12 若表上建有视图,使用RRESTRICT时表不能删除;使用CASCADE时可以删除表,视图也自动删除。

创建一个视图:

CREATE VIEW IS_Student 
AS 
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept='IS';

在这里插入图片描述
查询视图:
在这里插入图片描述
接着删除Student
在这里插入图片描述
删掉上面提到的与之相关的两个表后,方不报错。
在这里插入图片描述
可表Student 没了但视图还在,原来时显示错误,由于表Student被删除,所以视图也不可用了。
在这里插入图片描述
本次实验最大的收获便是:SQL server 中,删除模式时必须将与之相关的内容,对象先行删除,才可以进行删除表的操作。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值