数据库实验报告.docx

上传人:b****5 文档编号:11784463 上传时间:2023-04-01 格式:DOCX 页数:35 大小:2.77MB
下载 相关 举报
数据库实验报告.docx_第1页
第1页 / 共35页
数据库实验报告.docx_第2页
第2页 / 共35页
数据库实验报告.docx_第3页
第3页 / 共35页
数据库实验报告.docx_第4页
第4页 / 共35页
数据库实验报告.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

数据库实验报告.docx

《数据库实验报告.docx》由会员分享,可在线阅读,更多相关《数据库实验报告.docx(35页珍藏版)》请在冰豆网上搜索。

数据库实验报告.docx

数据库实验报告

实验三:

创建数据表和修改数据表

实验内容:

用SQL语句创建数据表和修改数据表

实验步骤:

首先创建一个数据库,命名为stu。

在查询中写下SQL语句

新建成功后的效果图

利用alter语句修改表

altertablestudent1addsexchar(4)

向表中添加新的字段(列)性别

效果图效果图如下,注意最右边多了一列性别项

删除表中的math字段

altertablestudent1dropcolumnmath

效果图(注意表中没有math列了)

 

实验四:

使用语句添加,删除和修改记录

【实验目的】

(1)掌握使用INSERT语句添加记录。

(2)掌握使用UPDATE语句修改记录。

(3)掌握使用DELETE语句删除记录。

实验步骤:

数据库和数据表在实验三的基础上进行

Insert插入查询

insertintostudent1

values('2001','s1',85,89,'女')

重复插入多个记录之后

Update修改数据

updatestudent1

setchinese=chinese-10把每个人的chinese成绩减去10分

结果图可以看出,明显chinese分数比前面的图中都少了10分

updatestudent1

setenglish=100

wheresno=2009

把sno=2009的english成绩改为满分

Delete删除数据操作

deletefromstudent1

wheresno=2006

删除记录中sno=2006的记录

 

实验五:

创建视图

【实验目的】

(1)理解视图的概念。

(2)掌握使用企业管理器创建视图。

(3)掌握使用Transact-SQL语句创建视图。

用createview语句创建视图

createviewis_student

asselect*

fromstudent1

wheresno>2005

创建的视图表

 

实验六:

查询和汇总数据库的数据

【实验目的】

(1)掌握SELECT语句的基本语法和用法。

(2)学会用聚合函数计算统计检索结果。

(3)掌握使用GROUPBY子句进行分组统计。

(4)掌握使用HAVING子句对分组结果进行筛选。

实验步骤

Select语句查询,查询性别都是男的所有信息

select*

fromstudent1

wheresex='男'

使用聚合函数查询

selectcount(*)

fromstudent1查询学生总数

selectavg(chinese)

fromstudent1查询所有学生chinese的平均成绩,结果为82分

selectmax(english)

fromstudent1查询英语成绩最高的分数

使用GROUPBY子句进行分组统计。

selectsno

fromstudent1

orderbysnodesc

selectCno,Count(Sno)

fromSC

groupbyCno

使用HAVING子句对分组结果进行筛选

selectSno

fromSC

GroupbySno

havingcount(*)>2

实验7 在查询中使用Transact-SQL函数

【实验目的】

1了解Transact-SQL函数。

2掌握常用的Transact-SQL函数。

3在查询中灵活应用Transact-SQL函数。

【实验内容和步骤】

select*

fromstudent1

wheresnolike'%008'

select*

fromstudent1

wheresnamelike'%s%'

结果如图所示

 

select*

fromstudent1

wheresnamelike'%2%'

如图

 

select*

fromstudent1

whereenglishlike'%8%'如图所示

实验8 创建和使用索引

【实验目的】

(1)了解索引的作用。

(2)学会使用企业管理器创建索引。

(4)学会使用SQL语句创建索引。

(4)学会创建唯一、聚集、非聚集、复合索引。

【实验内容和步骤】

建立索引

Createindexst

onstudent1(sno)

创建一个唯一、非聚集索引

唯一所以

Createuniqueindexst

onstudent1(sno)

删除索引

dropindexst

实验9 创建并使用约束及实现数据完整性

【实验目的】

(1)认识数据完整性的重要性。

(2)熟悉SQLServer提供的4种数据完整性机制。

(3)掌握使用企业管理器创建约束。

(4)学会创建和使用CHECK约束实现数据完整性。

一、使用企业管理方式建立约束

点击表达式右边的编辑框

输入公式即可如对性别的限制表达式为

([Ssex]='男'OR[Ssex]='女')

可通过选择添加和删除来进行添加约束和删除约束

二、使用语句创建约束

约束条件前面建表是已经完成

点击鼠标右键选择新建约束

代码如下

usestudents

createtableStudent

Snochar(10)primarykey,

Snamechar(8)unique,

Ssexchar

(2)check(Ssex='男'orSsex='女'),

Sagesmallint,

Sdeptchar(20)

实验10 创建和使用存储过程

【实验目的】

(1)理解存储过程的概念、作用。

(2)掌握使用企业管理器和SQL语句创建存储过程。

(3)学会执行存储过程。

(4)掌握用户自定义存储过程操作数据。

【实验内容和步骤】

使用企业管理器和SQL语句创建存储过程。

createprocedureone

as

begin

select*fromstudent1wheresex='男'

end

一、使用企业管理器创建存储过程

点击右键选择新建存储过程

通过编辑即可

二、使用语句创建存储过程

1、创建loving的存储过程

CREATEPROCEDUREloving

AS

BEGIN

SELECT*fromstudentwheressex='女'

END

2、用exec创建loving的存储过

Execloving

3、创建lovin1的存储过程

CREATEPROCEDUREloving1

as

BEGIN

SELECT*fromstudent

end

4、CREATEPROCEDUREpr1_sc_ins

@Param1char(10),@Param2char

(2),@Param3real

AS

BEGIN

insertintosc(sno,cno,Greade)values(@Param1,@Param2,@Param3)

END

5、CREATEPROCEDUREs_gerade

@snamechar(8),@sgraderealoutput

AS

SELECT@sgrade=greadefromscjoinstudentonstudent.sno=sc.sno

wheresname=@sname

6、DECLARE@sgradereal

EXECs_gerade

@sname='敖爽',

@sgrade=@sgradeOUTPUT

7、查看存储过程

EXECsp_helptextloving

EXECsp_dependsloving

EXECsp_helploving

 

执行存储过程

实验11 创建触发器

【实验目的】

(1)认识和理解触发器的概念、类型、功能。

(2)掌握使用企业管理器创建触发器。

(3)掌握使用SQL语句创建触发器。

【实验内容和步骤】

一、用企业管理方式创建触发器

1、单击右键选择新建触发器

2、在对应地方加上语句即可创建触发器

二、使用语句创建触发器

1、创建DML触发器

CREATETRIGGERtr1

ONsc

FORINSERT,UPDATE,DELETE

AS

PRINT'inserted表:

'

Select*frominserted

PRINT'deleted表:

'

Select*fromdeleted

2、先插入学号为003的1号课程成绩为89,在更新成绩

insertintoscvalues('003','1',89)

updatescsetgreade=78wheresno='003'

3、创建一个获取更新信息的触发器

CREATETRIGGERtr_s1

ONstudent

FORINSERT,UPDATE

AS

Begin

DECLARE@bhvarchar(6)

SELECT@bh=inserted.snoFROMinserted

Select@bh

End

执行语句

insertinto

student(sno)values('006')

4、限定范围

CREATETRIGGERsc_insupd

ONsc

FORINSERT,UPDATE

AS

DECLARE@cjint

SELECT@cj=inserted.gradefrominserted

IF(@cj<0or@cj>100)

BEGIN

RAISERROR('成绩的取值必须在到之间',16,1)

ROLLBACKTRANSACTION

END

insertintoscvalues('006','2',109)

5、为删除创建触发器

CREATETRIGGERtr_del_s

ONstudent

FORDELETE

as

BEGIN

DECLARE@bhchar(5)

Select@bh=deleted.snofromdeleted

Deletescwheresno=@bh

END

执行命令

deletefromstudent

wheresno='006'

6、DDL触发器

CREATETRIGGERsafety

ONDATABASE

FORCREATE_TABLE

AS

PRINT'CREATETABLEIssued.'

SELECTEVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)')

RAISERROR('Newtablescannotbecreatedinthisdatabase.',16,1)

执行命令

createtables(snochar(9))

实验13 SQLServer身份验证

【实验目的】

(1)理解SQLServer2005身份验证模式。

(2)掌握配置SQLServer身份验证模式的方法。

(3)学会创建和管理登录账户。

【实验内容和步骤】

SQLServer身份验证模式

输入自己安装时候设置的用户名和密码后,单击连接即可连接到数据库

效果图

Window身份模式

单击左上角pc。

单击右键,点属性

点击安全性

1、新建登录名

单击右键选新建登录名

单击安全性,新建用户名

一下步骤就很简单了省

通过添加计科添加角色

、用语句添加

CREATEROLER1

CREATEROLER2

CREATEROLER3

28、权限修改

grantselectonstudenttoR1

grantdeleteonstudenttoR2

grantinsertonstudenttoR3

withgrantoption

29、收回权限

revokedeleteonstudentfromR2

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1