SQL语言的使用(一)

开启小问题

:刚开始的时候不知道为什么连接不上了,就是下面这个样子。
在这里插入图片描述
解决方法是打开SQL-server的配置管理器,将后缀是MS的那个启动模式修改为启动,就可以连接了。
在这里插入图片描述

新建数据库用户名

下面是这次实验的主要内容了
一、新建数据库,用户名
1.先新建一个数据库
可以直接右键在数据库处新建,也可以点击新建查询后输入创建数据库的代码,再执行,刷新后就能看到新建的数据库。
在这里插入图片描述
2.新建用户名,依次在刚新建的数据库下找到安全性,用户,新建用户WANG.
在这里插入图片描述
登录名选择浏览中的第一个
在这里插入图片描述

模式的定义和删除

二、模式的定义和删除
1.为用户WANG定义一个学生-课程模式S-T;
输入代码后执行,刷新后在架构处看到新建的S-T即成功。

CREATE SCHEMA "S-T" AUTHORIZATION WANG;

在这里插入图片描述

2.CREATE SCHEMA AUTHORIZATION WANG;
模式名没有指定的时候,隐含为用户名WANG。
在实验中显示的默认模式是dbo。
3.为用户WANG创建一个模式TEST,并且在其中定义一个表TAB1。

CREATE SCHEMA TEST AUTHORIZATION WANG//紧接着模式建表
CREATE TABLE TAB1(COL1 SMALLINT,//2个字节的整数
COL2 INT,//4个字节的整数
COL3 CHAR(20),
COL4 NUMERIC(10,3),//总位数为10,小数点后为3位
COL5 DECIMAL(5,2)//同上
);

刷新后在表中看到新建的表即成功。
在这里插入图片描述
继续建立表2
如果不写模式名建表的话,默认是dbo模式
在这里插入图片描述

建立在TEST模式下

CREATE TABLE TEST.TAB2(COL1 SMALLINT
)

4.删除模式
DROP SCHEMA ZHANG CASCADE;
CASCADE是把模式中所有的数据库对象全部删除。但是执行时显示有语法错误
而在我们使用的SQL server 中对CASCADE和RESTRICT是不支持的,所以要全部删除的话应该先把模式里与它有连接的表,视图等删干净,再删除。
代码直接把CASCADE去掉即可。

DROP TABLE TEST.TAB1;
DROP TABLE TEST.TAB2;
DROP SCHEMA TEST ;
基本表的定义。

三、基本表的定义。
1.建立一个”学生“表Student;

CREATE TABLE Student
(Sno CHAR(9)PRIMARY KEY,//列级完整性条件,主码
Sname CHAR(20)UNIQUE,//唯一
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)

刷新后显示表即建表成功
在这里插入图片描述
2.建立一个课程表Course

CREATE TABLE Course
(Cno CHAR(4)PRIMARY KEY,
Cname CHAR(40)NOT NULL,//不能取空值
Cpno CHAR(4),
Ccredit SMALLINT,
FOREIGN KEY(Cpno)REFERENCES Course(Cno)/*表级完整性的约束条件,Cpno是外码,被参照表是Course,被参照列是Cno*/
);

在这里插入图片描述
3.建立学生选课表SC

CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
GRADE SMALLINT,
PRIMARY KEY(Sno,Cno),//主码由两个属性构成,必须作为表级完整性进行定义
FOREIGN KEY(Sno)REFERENCES Student(Sno),
FOREIGN KEY(Cno)REFERENCES Course(Cno)
);

在这里插入图片描述

基本表的修改

四、修改基本表
1.向Student表增加”入学时间“列,其数据类型为日期型。

ALTER TABLE Student ADD S_entrance DATE;

在这里插入图片描述
2.将年龄的数据类型由字符型(假设原来的数据类型是字符型)改为整数。

ALTER TABLE Student ALTER COLUMN Sage INT;//改类型必须加COLUMN

在这里插入图片描述
3.增加课程名称必须取唯一值的约束条件

ALTER TABLE Course ADD UNIQUE(Cname);
基本表的删除

五、删除基本表
1.删除Student表
用DROP删除时显示被一个外键约束

在这里插入图片描述
因为刚才在表CS中对Sno设置了外键,所以去SC的键下找到Sno删除,再执行即可。
———————————————————————————————————————
这次的实验刚开始做时出现了很多小错误,而且和书上的一些使用有的不一样需要自己去查,希望第二次可以顺利一些。

`

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值