登录
转载

第三次实验报告:模式,基本表的相关操作

发布于 2021-04-08 阅读 20
  • 数据库
  • SQL
转载

一.新建用户

用户名命名为“wang”,选择登录名 在这里插入图片描述 新建成功 在这里插入图片描述

例3.1:为用户WANG定义一个学生-课程模式S-T

CREATE SCHEMA "S-T" AUTHORIZATION WANG

在这里插入图片描述 创建成功: 在这里插入图片描述

例3.2:不指定<模式名>,所以<模式名>隐含为用户名WANG

CREATE SCHEMA AUTHORIZATION WANG

未指定名称的语句不会引起报错,但是也不会创建架构。在标准sql应该默认会讲schema_name默认设置为用户名。

例3.3:为用户ZHANG创建了一个模式TEST,并且在其中定义一个表TAB1

在这里插入图片描述 注意第一行语句没有分号,这样写可以省略TEST。 创建成功后,继续用TEST模式创建TAB2. 在这里插入图片描述 在这里插入图片描述

例3.4:删除模式

CASCAED(级联):删除模式时同时把该模式中所有数据库对象全部删除 RESTRICT(限制):如果该模式已经定义了下属数据库对象,则拒绝该删除语句的执行。只有当该模式中没有任何下属的对象时才能执行

DROP SCHEMA TEST CASCADE;

该语句删除了模式TEST,同时模式中的表TAB1也被删除 但SQL Server中输入报错,因为SQL Server没有RESTRICT和CASCADE选项 如果架构里面有数据库对象就不能删除他,我们得先删除其内的对象。 在这我们先通过GUI删除表。删除好之后我们继续执行上面的命令 在这里插入图片描述 在这里插入图片描述 删除成功

例3.5:建立“学生”表Student。学号是主码,姓名取值唯一

在这里插入图片描述 创建成功 在这里插入图片描述

例3.6:建立一个“课程”表Course

CREATE TABLE Course
			(Cno CHAR(4) PRIMARY KEY,
			 Cname CHAR(40),
			 Cpno CHAR(4),
			 Ccredit SMALLINT,
			 FOREIGN KEY(Cpno) REFERENCES Course(Cno)
			);

在这里插入图片描述

例3.7:建立一个学生选课表SC

在这里插入图片描述

例3.8:向Student表增加“入学时间”列,其数据类型为日期型

ALTER TABLE Student ADD S_entrance DATE;

在这里插入图片描述

例3.9:将年龄的数据类型由字符型改为整数。

ALTER TABLE Student ALTER COLUMN Sage INT;

在这里插入图片描述

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

ALTER TABLE Course ADD UNIQUE(Cname);

在这里插入图片描述

例3.11:删除Student表

我们得首先删除那个外键:我们在sc里Sno参照了Student里的Sno 这里借鉴了学长的代码:

select name  
from  sys.foreign_key_columns f join sys.objects o on f.constraint_object_id=o.object_id 
where f.parent_object_id=object_id('SC')


删除外键:

ALTER TABLE SC DROP  CONSTRAINT FK__SC__Sno__2C3393D0 ;

最后删除表

ALTER TABLE SC DROP  CONSTRAINT FK__SC__Sno__2C3393D0 ;

评论区

king
3粉丝

励志做一条安静的咸鱼,从此走上人生巅峰。

0

0

0