数据库系统SQL实验0313Word下载.docx

上传人:b****2 文档编号:15122258 上传时间:2022-10-27 格式:DOCX 页数:14 大小:224.17KB
下载 相关 举报
数据库系统SQL实验0313Word下载.docx_第1页
第1页 / 共14页
数据库系统SQL实验0313Word下载.docx_第2页
第2页 / 共14页
数据库系统SQL实验0313Word下载.docx_第3页
第3页 / 共14页
数据库系统SQL实验0313Word下载.docx_第4页
第4页 / 共14页
数据库系统SQL实验0313Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

数据库系统SQL实验0313Word下载.docx

《数据库系统SQL实验0313Word下载.docx》由会员分享,可在线阅读,更多相关《数据库系统SQL实验0313Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

数据库系统SQL实验0313Word下载.docx

创建数据库testStudCour,在对象资源管理器中的目录“数据库”单击右键“刷新”,出现“testStudCour”数据库

[例2]createdatabase[testStudCour2]onprimary

(name=N'

lixuetestStudCour'

filename=N'

d:

\lixuetestStudCour.mdf'

size=3072KB,maxsize=unlimited,filegrowth=1024KB)

LOGON

(name=N'

lixuetestStudCour_log'

\lixuetestStudCour_log.ldf'

size=1024KB,maxsize=2048GB,filegrowth=10%)

[例3]createdatabasetestStudCour3

CreatetabletestStudCour3.TabStudCour(

学号nchar(9)primarykey,

姓名nchar(10)NULL,

性别nchar

(2)NULL,

系别nchar(20)NULL,)

消息2760,级别16,状态1,第8行

指定的架构名称"

testStudCour3"

不存在,或者您没有使用该名称的权限。

修改:

先执行createdatabasetestStudCour3

在执行CreatetabletestStudCour3.dbo.TabStudCour(

2、删除模式

[例4]dropdatabasetestStudCour2

删除数据库testStudCour,在对象资源管理器中的目录“数据库”单击右键“刷新”,“testStudCour”数据库被删除

[例5]dropdatabasetestStudCour3Restrict

消息156,级别15,状态1,第13行

关键字'

Restrict'

附近有语法错误。

[例6]dropdatabasetestStudCour3cascade

cascade'

1.2基本表的定义、删除与修改

1.2.1定义基本表

先执行createdatabasestud_cour

后执行

[例7]createtable[stud_cour].[dbo].student(snonchar(9)primarykey,

snamenchar(20)notnull,

ssexnchar

(2),

Sageint,

sdeptnchar(20))

[例8]createtable[stud_cour].[dbo].Course(Cnonchar

(2)primarykey,

Cnamenchar(10)notnull,

Cpnonchar

(2),

Ccreditsmallint)

[例9]createtable[stud_cour].[dbo].SC(Snonchar(9),

Cnonchar

(2),

Gradesmallint,

primarykey(Sno,Cno),

foreignkey(sno)referencesStudent(sno),

foreignkey(cno)referencesCourse(cno))

1.2.2修改基本表

[例10]altertablestud_cour.dbo.studentaddS_inschoolDate

[例11]altertablestud_cour.dbo.studentalterColumnssexsmallint

[例12]altertablestud_cour.dbo.courseaddunique(cname)

1.2.3删除基本表

[例13]droptablestud_cour.dbo.course

消息3726,级别16,状态1,第2行

无法删除对象'

stud_cour.dbo.course'

,因为该对象正由一个FOREIGNKEY约束引用。

[例14]

先执行createtable[stud_cour_test].[dbo].Course(Cnonchar

(2)primarykey,

再执行

[例15]droptable[stud_cour_test].[dbo].Course

1.3索引的建立与删除

1.3.1索引的建立

选择要建立索引的数据库对象“stud_cour”

[例16]createindexsno_idxonstudent(sno)

建立的索引文件可以在student表中的“索引”项中可以看见。

[例17]createuniqueindexsname_idxonstudent(sname)

1.3.2索引的删除

[例18]dropindexsno_idx

消息159,级别15,状态1,第6行

必须为DROPINDEX语句指定表名和索引名。

[例19]dropindexsno_idxonstudent

删除的索引文件可以在student表中的“索引”项中可以看见。

[例20]dropindexsname_idxonstudent

2数据查询

2.1单表查询

[例6]查询全体学生的学号与姓名

selectsno,snamefromstudent

查询结果

[例6]查询全体学生的姓名、学号、所在系

SELECT*FROMstudent

[例6]查经过计算的值(查询学生姓名和出生年份)

SELECTSno,2011-sageASSDATEFROMstudent

[例6]查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名

SELECTSno,'

YearofBirth:

'

2011-Sage,LOWER(sdept)FROMstudent

SELECTSno,'

'

2011-Sage出生年份,LOWER(sdept)所在院系FROMstudent

SELECTsnoNAME,'

BIRTH,2011-sageBIRTHDAY,LOWER(sdept)DEPARTMENTFROMStudent

选出所有选课的学生学号

SELECTDISTINCTSNOFROMSC

•查计算机系全体学生名单

SELECTsnameFROMstudentWHEREsdept='

cs'

查年龄20岁以下学生姓名及年龄

SELECTsno,sageFROMstudentWHEREsage<

20

查年龄在18—20间学生姓名及年龄

SELECTsname,sageFROMStudentWHEREsageBETWEEN18AND20

查IS,MA,CS三个系学生姓名和性别

SELECTsname,ssexFROMstudentWHEREsdeptIN('

IS'

'

MA'

CS'

查既不是IS,MA,也不是CS系的学生姓名和性别

SELECTsname,ssexFROMstudentWHEREsdeptNOTIN('

学号为200215121的学生情况

SELECT*FROMstudentWHERESNOLIKE'

200215121'

查姓刘学生姓名性别

SELECTsname,ssexFROMstudentWHEREsnameLIKE'

刘%'

.查年龄在20—29间的学生姓名和年龄

Selectsname,sagefromstudentwheresagelike'

2_'

cs系年龄在以下的学生姓名

Selectsnamefromstudentwheresdept='

andsage<

查询DB_Design课程的课程号和学分。

SELECTCno,CcreditFROMCourseWHERECnameLIKE'

DB\_Design'

ESCAPE'

\'

选修了3号课程的学生的学号及成绩按成绩降序排列:

Selectsno,gradefromscwherecno=3orderbygradedesc;

查全体学生情况,按所在系升序排列,同一系按年龄降序排列

Select*fromstudentorderbysdept,sagedesc

查询课程号为2且成绩高于分以上的学生

SELECT*FROMScWHERECno='

2'

ANDGrade>

85

查询选修1或2且不低于分的学生

SELECT*FROMScWHERE(Cno='

1'

ORCno='

)ANDGrade>

=70

查选修了3号课程的学生的平均成绩

Selectavg(grade)平均分fromscwherecno=3;

求200215121学生的总分和平均分

SELECTSUM(Grade)总分,AVG(Grade)平均分FROMScWHERESno='

求计算机系的学生总数

SELECTCOUNT(Sno)计算机系人数FROMStudentWHERESDept='

SELECTCOUNT(*)计算机学生数FROMStudentWHEREsDept='

查询共有几个系

SELECTCOUNT(sDept)院系FROMstudent(x)

SELECTCOUNT(DISTINCTsdept)院系FROMStudent

求课程C1的最高分和最低分以及高低分之间的差距

SELECTMAX(Grade)

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

当前位置:首页 > 人文社科 > 法律资料

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

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