下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验5 sql语句练习图书馆数据库实验5 sql语句练习图书馆数据库实验目的(1)了解SQL Server数据库的逻辑结构和物理结构;(2)了解表的结构特点;(3)了解SQL Server的基本数据类型;(4)了解空值概念;(5)学会在企业管理器中创建数据库和表;(6)学会使用T-SQL语句创建数据库和表。(7)学会使用T-SQL语句更新数据。(7)学会使用T-SQL语句创建多种查询。实验准备首先要明确,能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。其次创建数据库必须要确定数据库名、数据库大小(最初的大小、最大的大小、是否允许增长及增长方式)和存
2、储数据库的文件。然后,确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQL Server的常用数据类型,以创建数据库的表。此外还要了解两种常用的创建数据库、表的方法,即在企业管理器中创建和使用T-SQL的CREATE DATABASE语句。实验内容假设有5本书设有一图书馆数据库,其中包括3个表,即图书表、读者表和借阅表。三个表的结构如图:图书表结构列名说明数据类型约束说明书号图书唯一的编号定长字符串,长度为10主键书名图书的名称定长字符串,长度为50空值作者图书的编著者名定长字符串,长度为30空值出版社图书的出版社定长字符串,长度为30空值单价出版社确定的图书的单价浮点型,Float空
3、值读者表结构假设有10位读者列名说明数据类型约束说明读者号读者唯一的编号定长字符串,长度为10主键姓名读者姓名定长字符串,长度为8非空值性别读者性别定长字符串,长度为2非空值办公电话读者办公电话定长字符串,长度为8空值部门读者所在部门定长字符串,长度为30空值借阅表结构列名说明数据类型约束说明读者号读者的唯一编号定长字符串,长度为10外码,引用读者表的主键书号图书的唯一编号定长字符串,长度为20外码,引用图书表的主键借出日期借出图书的日期定长字符串,长度为8非空值归还日期归还图书的日期定长字符串,长度为8空值 主键为:(读者号,图书号)(1) 用Sql语句创建图书馆数据库Create data
4、base Lab05(2) 用Sql语句创建上述3个表create table book(bookId char(10)primary key,bookName varchar(50),bookWriter varchar(30),bookPublish varchar(30),bookPrice float)create table reader(readerId char(10) primary key,readerName varchar(8)not null,readerSex char(2)not null,readerOfficeTel char(8),readerDepartme
5、nt varchar(30)create table 借阅表(readerId char(10),bookId char(10),checkOutTime char(8),checkInTime char(8),primary key(readerId,bookId),foreign key (readerId) references reader(readerId),foreign key (bookId) references book(bookId),)(3) 基于图书馆数据库的3个表,用sql语言完成一下操作:1) 为图书表增加一列“ISBN”,数据类型为CHAR(10)alter t
6、able book add ISBN char(10)2) 为刚添加的ISBN列增加缺省值约束,约束名为ISBNDEF,缺省值为7111085949ALTER TABLE book ADD CONSTRAINT ISBNDEF DEFAULT ('7111085949') FOR ISBN3) 删除图书表中ISBN列增加的缺省值约束alter table book drop ISBNDEF4) 删除图书表中新增的ISBN列ALTER TABLE book DROP COLUMN ISBN5) 查询全体图书的图书号、书名、作者、出版社和单价select bookId,bookNa
7、me,bookWriter,bookPublish,bookPricefrom book6) 查询全体图书的信息,其中单价打8折,并设置该列的别名为打折价select bookId,bookName,bookWriter,bookPublish,(bookPrice*0.8) as打折价from book7) 显示所有借阅者的读者号,并去掉重复行select distinct readerIdfrom 借阅表8) 查询所有单价在2030元之间的图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwhe
8、re bookPrice between 20 and 309) 查询机械工业出版社、科学出版社、人民邮电出版社的图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice,ISBNfrom bookwhere bookPublish in('机械工业出版社' , '科学出版社','人民邮电出版社')10) 查询既不是机械工业出版社、人民邮电出版社、也不是科学出版社出版的图书信息select bookId,bookName,bookWriter,bookPublish,bookPrice
9、,ISBNfrom bookwhere bookPublish not in('机械工业出版社' , '科学出版社','人民邮电出版社')11) 查询姓名的第二个字符是建,并且只有2个字的读者的读者号及姓名select readerId,readerNamefrom readerwhere readerName like '_建'12) 查询姓名不是以王、张或李开头的所有读者的读者号及姓名【方式一】查询出来的结果有问题!select readerId,readerNamefrom readerwhere readerName no
10、t in ('王%','张%','李%')【方式二】select readerId,readerNamefrom readerwhere readerName not in(select readerNamefrom readerwhere readerName like'王%'or readerName like'张%'or readerName like'李%')13) 查询无归还日期的借阅信息select book.bookId,book.bookName,reader.readerId,re
11、ader.readerName,借阅表.checkOutTime as 借书时间,借阅表.checkInTime as 还书时间from 借阅表,book,readerwhere 借阅表.bookId = book.bookIdand 借阅表.readerId = reader.readerIdand 借阅表.checkInTime is null14) 查询机械工业出版社图书的平均价格、最高价、最低价select avg(bookPrice)as 平均价格,max(bookPrice) as 最高价 ,min(bookPrice) as 最低价from bookwhere bookPubli
12、sh = '机械工业出版社图书'15) 查询读者的基本信息及借阅情况select reader.readerId,reader.readerName ,借阅表.bookId,book.bookName,book.bookPublishfrom reader , 借阅表 ,bookwhere reader.readerId = 借阅表.readerIdand book.bookId = 借阅表.bookIdand 借阅表.readerId ='1000000007'16) 查询至少借阅过1本机械工业出版社出版的图书的读者的读者号、姓名、书名及借阅本数,并按借阅本书
13、多少降序排列select r.Rno,Rname,count(borrow.Bno) 借阅册数 from borrow,b,rwhere b.bno=borrow.bno and press='机械工业出版社' and borrow.rno=r.rnogroup by r.rno,Rnameorder by count(borrow.Bno) desc17) 查询与王小平的办公电话相同的读者的姓名/* 使用“自连接方式”求解 */select b.readerName,b.readerId,a.readerOfficeTelfrom reader a, reader bwher
14、e a.readerName like '王小平'and a.readerOfficeTel = b.readerOfficeTel/*18) 查询所有单价小于平均单价的图书的书号、书名及出版社select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPrice <(select avg(bookPrice) as averagePricefrom book )19) 查询科学出版社的图书单价比机械工业出版社最高单价还高的图书书名及单价select bookId,bookName,bookPublish,
15、bookPricefrom bookwhere bookPublish like '科学出版社' and bookPrice >(select max(bookPrice)from book where bookPublish = '机械工业出版社')20) 查询科学出版社的图书中单价比机械工业出版社最低单价高的图书书名及单价select bookId,bookName,bookPublish,bookPricefrom bookwhere bookPrice <(select max(bookPrice)from book where bookPublish = '机械工业出版社')and bookPublish like '科学出版社'21) 创建机械工业出版社图书的视图CREATE VIEW 机械工业出版社ViewASSELECT bookId,bookName,bookPriceFROM bookWHERE bookPublish = '机械工业出版社'22) 创建一个借阅统计视图,名为CountView,包含读者的读者号和总借阅本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中学物理学中的数学问题上
- 幼儿园教师专业反思深度与教学改进关联-基于2023年反思日记文本与课堂视频对比
- 美育基础概述 5
- 机械工程控制基础
- 金属五金配件、滑轨机箱生产项目可行性研究报告模板-立项拿地
- 福建省龙岩市2025-2026学年高二下学期4月期中联考历史试卷
- 新闻记者证考试(新闻采编实务)考前模拟试题及答案(山西省临汾市2025年)
- 建筑施工企业安全生产社会监督规定
- 2.0万吨年海绵钛、2.0千吨年海绵锆项目可行性研究报告模板-申批征地立项
- 溴苯肼企业数字化转型与智慧升级战略分析报告
- 2026重庆北碚区静观镇招聘在村挂职本土人才8人考试参考题库及答案解析
- 2025年神农架林区公安局招聘辅警真题
- 2026“才聚齐鲁 成就未来”山东铁投能源集团、山东清洁热网有限公司招聘128人笔试参考试题及答案详解
- (2026年)检验检测机构资质认定“一单一库”的学习与解读(2026年实施)课件
- 支气管哮喘患者急救措施
- 24J113-1 内隔墙-轻质条板(一)
- 公共卫生执业医师实践技能考试试题及答案
- 特种设备安全管理2026版
- 足球场场地排水施工方案
- 小学音乐中多元文化音乐元素的融合与创新教学课题报告教学研究课题报告
- 心脏再同步化治疗的精准医疗策略
评论
0/150
提交评论