使用SQL语句创建数据表和操作数据

实验1  使用SQL语句创建数据表和操作数据

  1. 实验环境

操作系统:Windows 11 家庭版

数据库管理系统:SQL SERVER 2019

客户端:SSMS 19.3(SQL Server Management Studio 19.3.4.0)

1、使用CREATE TABLE语句创建表:学生表、课程表、学生选课表(见教材52页)。

实验代码:

CREATE TABLE Student

(Sno CHAR(9)PRIMARY KEY,

Sname CHAR(20)UNIQUE,

Ssex CHAR(2),

Sage SMALLINT,

Sdept CHAR(20)

);

CREATE TABLE Course

(Cno CHAR(4)PRIMARY KEY,

Cname CHAR(40) NOT NULL,

Cpno CHAR(4),

Ccredit SMALLINT,

);

CREATE TABLE SC

(Sno CHAR(9),

Cno CHAR(4),

Grade SMALLINT,

);

运行结果:

2、使用INSERT语句向以上数据表中添加记录(见教材52页)。

实验代码:

表一(Student表)

insert

into student

values('201215121','李勇','','20','CS');

insert

into student

values('201215122','刘晨','','19','CS');

insert

into student

values('201215123','王敏','','18','MA');

insert

into student

values('201215124','张立','','19','IS');

表二(Course表)

insert

into Course

values('1','数据库','5','4');

insert

into Course

values('2','数学',' ','2');

insert

into Course

values('3','信息系统','1','4');

insert

into Course

values('4','操作系统','6','3');

insert

into Course

values('5','数据结构','7','4');

insert

into course

values('6','数据处理',' ','2');

insert

into Course

values('7','PASCAL语言','6','4');

表三(CS表)

insert

into SC

values('201215121','1','92');

insert

into SC

values('201215121','2','85');

insert

into SC

values('201215121','3','88');

insert

into SC

values('201215122','2','90');

insert

into SC

values('201215122','3','80');

运行结果:

表一(Student表)

表二(Course表)

表三(CS表)

3、用UPDATE更新学号为‘201215121’并且课程编号为‘1’的成绩为82。

实验代码:

update SC

set Grade=82

where sno='201215121'

and cno='1';

运行结果:(可以看到表格从原来的92变成了现在的82

4、用DELETE删除学号为‘201215122’的记录。

实验代码:

(首先删除Student表中的该记录)

delete

from Student

where sno='201215122';

(然后删除SC表中的该记录)

delete

from Student

where sno='201215122';

(然后删除Course表中的该记录)

delete

from course

where sno='201215122';(但是这里显示sno列名无效)

运行结果:

Student表中的记录从4条变成了3条)

SC表中的记录从5条变成了3条)

Course中没有学号这一栏,所以没有改变)

5、向Student表增加“入学时间”列S_entrance ,其数据类型为日期型。

实验代码:

ALTER TABLE Student ADD S_enterance DATE;

运行结果:

  1. 实验总结:

 在本次实验中遇到了以下问题:

实验一中在之前实验课中已经创建过了表格,不能重复创建

解决办法我理解的有以下两种:

一是删除已有的表格,重新建立;

二是新建一个数据库解决重复表格的问题

实验二中向表格中添加数据表时发现如果按照教材上编写程序会出现外码报错的情况,这是因为表中的两列形成了参照列和被参照列的关系,在输入数据时就会报错

我的解决办法是删掉FOREIGN KEY(Cpno) REFERENCES Course(Cno)之后程序就能正常运行

在实验代码中没有指明属性名,这是因为只要values语句中的值和属性列一一对应之后就可以不指名

实验四中使用delete删除记录时,Course表中没有sno这一属性,所以操作无效,而且会报错,如图所示:

实验感悟:

在本次实验中,我们主要进行了五项实验分别涉及了表的建立、插入、修改、删除

SQL语句具有非常灵活的编译手段,不区分大小写,而且和英语语言极其相似,比较容易上手

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值