数据库 ----- 实验二:SQL的数据定义和数据更新

实验二 SQL的数据定义和数据更新

[实验目的和要求]
1.掌握SQL Server Management Studio中以SQL 命令方式和以向导方式操作表和数据的操作;
2.掌握SQL 的数据定义命令,包括:定义表、删除表和修改表以及建立索引和删除索引;
3.掌握SQL 的数据更新命令,包括:插入数据、修改数据和删除数据。
[实验内容]
1、在SQL Server Management Studio中建立数据库“学生-课程”数据库MyDb。
在这里插入图片描述

2、在SQL Server Management Studio中以SQL 命令方式实现以下要求:
1)创建表Student 、Course 和SC ,并为每个表定义主键约束; Student(Sno,Sname ,Ssex ,Sage ,Sdept) Course (Cno,Cname ,Cpno ,Ccredit) SC (Sno ,Cno ,Grade )
在这里插入图片描述

2)分别向三个表中插入以下数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3)修改数据
将表Student 中所有学生的年龄加2岁。 将表SC 中所有学生的成绩降低10%。

在这里插入图片描述
在这里插入图片描述

4)删除数据
将表Student 中Sno 为95004的学生信息删除。
在这里插入图片描述

3.SQL Server Management Studio中建立数据库“图书读者”数据库。
在这里插入图片描述

4.SQL Server Management Studio中以向导方式实现以下要求:
1)创建表图书(book)、读者(person)和借阅(look),并为每个表定义主键约束;
图书【book】(书号book_number (主键),类别classes,出版社press,作者writer,书名title,定价pricing,出版数量number)
读者【person】 (读者编号Sno(主键),姓名name,单位work_ address,性别Ssex,电话phone)
借阅【look】(书号book_number,读者编号Sno,借阅日期date);

2)定义借阅表与图书表之间以及借阅表与读者表之间的键约束;

在这里插入图片描述

3)分别向每个表中插入至少5行模拟数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4)修改借阅表,增加“归还日期”字段;
在这里插入图片描述

5)修改借阅表主键。
联合主键删除,然后用alter重新赋联合主键

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[实验思考题]
在完成要求4的过程中,分别向图书表、读者表和借阅表中插入数据时,可以随意向任何一张表中添加数据吗?请分析并解释其中的原因。

不可以随意加入,因为有主外键约束

5.附录代码

create database MyDb

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,
foreign key(Cpno) References Course(cno)
);

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)
);


INSERT
INTO Student(Sno,Sname,Ssex,Sage,Sdept)
VALUES('95001','李勇','男',30,'CS');


INSERT
INTO Student
VALUES('95002','刘晨','女','19','IS');

INSERT
INTO Student
VALUES('95003','王敏','女','18','MA');

INSERT
INTO Student
VALUES('95004','张立','男','19','IS');


insert 
into Course
values(2,'数学',null,2);

insert 
into Course
values(6,'数据处理',null,2);

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

insert 
into Course
values(7,'C语言',6,4);

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

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

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


insert
into SC(Sno,Cno,Grade)
values('95001',1,32);

insert 
into SC
values('95001',2,85);

insert
into SC
values('95001',3,88)

insert 
into SC
values('95002',2,90)

insert
into SC
values('95002',3,80)


update Student
set Sage = Sage +2;


update SC
set Grade = Grade*0.1;


delete
from Student 
where Sno = '95004'

---------------------------------------------------------------------

create database Library 

create table book
(
book_number char(20) primary key,
classes char(20),
press char(30),
writer char(20),
title char(30),
pricing money,
number bigint
);

create table person
(
Sno char(11) primary key,
name char(20),
work_address char(30),
Ssex char(2),
phone bigint
);
 
create table look
(
book_number char(20),
Sno char(11),
date date,
primary key(book_number,Sno),
foreign key(book_number) references book(book_number),
foreign key(Sno) references person(Sno)
);

insert
into person
values('20211104227','闫冠希','计科2102班','男',18335850028);

insert
into person
values('20211104225','小丽','计科2102班','女',12374196301);

insert
into person
values('20211104217','凯子','计科专升本2102班','男',19635741286);

insert
into person
values('20211104221','小刘子','计科2101班','女',15934712486);

insert
into person
values('20211104205','董卓','计科2102班','男',15642893651);

insert
into person
values('20211104233','泽华','计科2102班','男',17634852176);



insert
into book
values('K565.41  24','历史','上海译文出版社','威廉·多伊尔','法国大革命',58.98,200);

insert
into book
values('K231.04 4','历史','上海古籍出版社','刘向','战国策',99.8,20);

insert
into book
values('TP3121036','计算机','机械工业出版社','黑马程序员','Java面向对象程序设计',78.568,60);

insert
into book
values('I216.2  483','文学','上海译文出版社','林徽因','林徽因文学精品选',68.46,400);

insert
into book
values('I210.1 1:16 ','文学','人民文学出版社','鲁迅文学爱好者','鲁迅全集',86.79,500);

insert
into book
values('k565.08 6','小说','清华大学出版社','简·奥斯汀','傲慢与偏见',46.27,80);

insert
into book
values('K242.09   7','历史','新星出版社','陈舜臣','大唐帝国',54.31,150);

insert
into book
values('J222.49  23','文学','中国社会科学文献出版社','再传弟子编纂','论语',125.63,350);




insert 
into look
values('K565.41  24',20211104221,'2021-11-10');

insert 
into look
values('K231.04 4',20211104227,'2021-10-06');


insert 
into look
values('TP3121036',20211104233,'2021-09-25');


insert 
into look
values('I216.2  483',20211104233,'2021-10-25');


insert 
into look
values('I210.1 1:16',20211104205,'2021-11-16');

insert 
into look
values('k565.08 6',20211104217,'2021-11-18');


insert 
into look
values('K242.09   7',20211104227,'2021-10-14');

insert 
into look
values('J222.49  23',20211104225,'2021-09-25');


alter table look add breturn date;


ALTER TABLE look ADD PRIMARY KEY(book_number,Sno);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

fy_1852003327

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

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

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

打赏作者

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

抵扣说明:

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

余额充值