SQL数据库实验报告一

刚做完实验,小伙伴们可以参考

(1)   在产品表(Products)中找出库存大于50的产品的所有信息,按产品编号升序排序。

SELECT *

FROM Products

WHERE UnitsInStock>=50

ORDER BY ProductID 

(2)    查询顾客表(Customers)中所有不重复的所在城市,并升序排序。

SELECT DISTINCT City

FROM Customers

ORDER BY City 

(3)   在订单表(Orders)中找出运费在10到50(含10和50)之间的订单编号、顾客编号和职员编号,并按订单号升序排序。

SELECT OrderID,CustomerID,EmployeeID

FROM Orders

WHERE Freight >=10 AND Freight<=50

ORDER BY OrderID

(4)   在顾客表(Customers)中找出所在城市为London的联系人名和公司

SELECT ContactName,CompanyName

FROM Customers

WHERE City='London'

(5)   在顾客表(Customers)中找出所在城市为CLondon、Madrid、Torino和Paris的顾客编号及电话

SELECT CustomerID,Phone

FROM Customers

WHERE City IN ('CLondon','Madrid','Torino','Paris')

(6)   在订单表(Orders)中找出国籍不是Brazil、Spain和Mexico的订单编号和订货日期

SELECT OrderID,OrderDate

FROM Orders

WHERE ShipCity NOT IN ('Brazil','Spain','Mexico')

(7)   在产品表(Products)中找出单位数量中有box的产品名和产品编号

SELECT ProductName,ProductID

FROM Products

WHERE QuantityPerUnit  LIKE '%box%'

(8)   在顾客表(Customers)中找出公司名的首字母为F的顾客编号和联系人名

SELECT CustomerID,ContactName

FROM Customers

WHERE CompanyName  LIKE 'F%'

(9)   在顾客表(Customers)中找出公司名的首字母为F,第5位为k的顾客编号和联系人名

SELECT CustomerID,ContactName

FROM Customers

WHERE CompanyName  LIKE 'F___k%'

(10)  统计在'1997-10-1' 到'1997-10-7'期间,订单中每个员工的订单数,并按订单数降序排序。

SELECT EmployeeID"员工编号",COUNT(ORDERID)"订单数"

FROM Orders

WHERE OrderDate BETWEEN '1997-10-1'ANd'1997-10-7'

GROUP BY EmployeeID

ORDER BY COUNT(OrderID)  DESC

(11)  请查询平均价格在30元及以上的产品类型

SELECT CategoryID,AVG(UnitPrice)'平均价格'

FROM Products

GROUP BY CategoryID

Having AVG(UnitPrice)>=30

(12)  查询在'1997-10-1' 到'1997-10-7'期间订货的订单编号、客户联系人名称、城市、地址、联系电话,并按城市和订货日期升序排序。

SELECT  OrderID,ContactName,City,Address

FROM Orders,Customers

WHERE Orders.CustomerID=Customers.CustomerID AND OrderDate BETWEEN '1997-10-1' AND '1997-10-7'

ORDER BY City,OrderDate

(13)  查询在'1997-10-1' 到'1997-10-7'期间的员工销售业绩情况,包括员工编号、订单量,并按员工编号升序排序。

SELECT Employees.EmployeeID,count(OrderID)'订单量'

FROM Employees,Orders

WHERE Employees.EmployeeID=Orders.EmployeeID AND OrderDate BETWEEN '1997-10-1' AND '1997-10-7'

GROUP BY Employees.EmployeeID

ORDER BY EmployeeID,count(OrderID)

(14)  查询'1997-10-7'当天所售商品的库存情况,包括商品编号、名称、库存。

SELECT Products.ProductID,ProductName,UnitsInStock

FROM Products,Orders,[Order Details]

WHERE Products.ProductID=[Order Details].ProductID AND [Order Details].OrderID=Orders.OrderID AND OrderDate='1997-10-7'

(15)  查询客户编号“BSBEV”在“1997-5-16”订购的每一笔订单明细(包括订单号、订货日期、交货日期、产品名称、单价、数量、折扣后金额)。

SELECT Orders.OrderID,OrderDate,RequiredDate,ProductName,products.UnitPrice,Quantity,products.UnitPrice*Quantity*(1-Discount)  '折扣后金额'

FROM Products,Orders,[Order Details]

WHERE Products.ProductID=[Order Details].ProductID AND [Order Details].OrderID=Orders.OrderID AND OrderDate='1997-5-16'AND CustomerID='BSBEV'

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
数据库随课实验 《数据库原理及应用》 实验类别: 课内实验 实验课程名称: 数据库原理及应用 实验室名称:软件工程实验室 实验课程编号: 02060007 总学时: 56 学 分: 3.5 适用专业: 计算机科学与技术、网络工程、软件工程 先修课程: 离散数学、计算机导论及操作、数据结构 实验在教学培养计划地位、作用: 数据库原理及应用是一门理论与实践相结合的课程,上机实验环节是本课程的重要组成部分。实验的目的是为了配合课堂教学,进一步强化对数据库原理的理解。实验的任务是要结合数据库原理和 SQL Server 2000数据库系统,熟练掌握和深入理解课堂教学内容,实现从理论到实践的统一。 实验一 SQL的数据定义(2学时) 1、实验目的 掌握DBMS的数据定义功能 掌握SQL语言的数据定义语句 2、实验内容 创建、删除 查看、修改的定义 理解索引的特点 创建和删除索引 3、实验要求 熟练掌握SQL的数据定义语句CREATE、ALTER、DROP 写出实验报告 4、实验步骤 设有一个学生-课程数据库,包括学生关系Student、课程关系Course和选修关系SC: 学生:Student(Sno,Sname,Ssex,Sage,Sdept) 课程:Course(Cno,Cname,Cpno,Ccredit) 学生选课:SC(Sno,Cno,Grade) 创建、删除,例如: CREATE TABLE Student (Sno CHAR(5) NOT NULL UNIQUE, Sname CHAR(20) UNIQUE, Ssex CHAR(1) , Sage INT, Sdept CHAR(15))
本文档为数据库上机实验报告,是自己认认真真一步一步写的,报告包含试验的具体步骤,过程以及代码和实验结果截图,和实验总结。 实验一 实验题目: 数据库管理系统的使用 实验目的: 掌握SQL SERVER2005的使用和数据库设计的一般方法。 实验内容: (1)SQL SERVER2005的使用 (2)数据库的设计过程并利用SQL SERVER2005建立数据库。 实验二 实验题目: 数据库的定义 实验目的:掌握数据建立、修改、删除、索引的SQL语句。 实验内容: (1)数据的建立 (2)数据的修改 (3)数据的删除 (4)数据的索引建立 为S的DEPT建立唯一索引 (5)视图的建立与删除 建立一个计算机系学生基本信息视图CSV(SNO,SNAME,SEX,AGE) 查询1983年以后出生的计算机系学生基本信息。 建立一个计算机系学生成绩视图JSGV(SNO,CNO,GRADE)。 查询计算机系学生选课多于3门的学生学号。 查询计算机系学生2号课不及格的学生学号和成绩。 实验三 实验题目: 数据的操作 实验目的: 掌握数据数据操作的SQL语句。 实验内容: SQL语句插入数据操作 SQL语句修改数据操作 SQL语句删除数据操作 SQL语句查询数据操作 维护数据SQL语句: (1)在学生插入一新生信息(‘200213808’,’HUJING’,’女’,22,’计算机’) (2)删除数据库学号为’200213801’的退学学生有关信息。 (3)将计算机系学生2号课成绩全部提高5%。 查询数据SQL语句: (4)统计有学生选修的课程门数。 (5)统计HU老师所授每门课程的学生平均成绩。 (6)统计所有选修人数多于20的课程号和选课人数,并按人数降序排列,若人数相等,则按课程号升序排列。 (7)检索所有缓考即成绩为NULL的同学学号、姓名和缓考课程号。 (8)检索‘OS’课成绩高于该课平均成绩的同学学号。 (1) 检索计算机系女生的学号和姓名。 (2) 检索全体学生姓名、出生年份和所在系。 (3) 检索未选修任何课程的学生学号。 (4) 检索WANG老师所授课程号、课程名。 (5) 检索所有姓LI同学的基本信息。 (6) 检索选修‘DATABASE’课程的学生学号。 (7) 检索年龄介于LIPING同学年龄和28岁之间的学生基本信息。 (8) 检索选修TIAN老师所授全部课程的学生学号。 实验四 实验题目: T-SQL编程 实验目的: 掌握T-SQL语句的使用。 实验内容: 1.定义一个变量,用来存储两名学生的学号,姓名,所在系。 2.编写一个自定义的函数,该函数接受一个学生姓名,返回其学生基本信息及选课情况。 3.试用CASE语句输出学生各年龄段的学生人数。 4.编写存储过程,以系别作为参数,统计指定系别的人数,并作为存储过程的输出。 实验题目: 数据库的完整性 实验目的: 掌握数据库的完整性约束定义,完整性检查及违约处理方式。 掌握触发器的定义及使用。 实验内容: 1. 定义S, C的完整性约束 2. 定义SC的完整性约束,要求当其被参照发生删除操作时,违约处理的方式为级联,当其被参照发生修改操作时,违约处理的方式为拒绝。 3. 触发器 ☆ 建立一DML触发器,每当学生的成绩发生更新时,将更新的学号,成绩存入g-log内 ☆ 建立一个INSTEAD OF触发器,每当修改课程记录时,利用触发器动作替代修改操作。 ☆ 建立一个DDL 触发器,不允许删除数据库,并作出响应。 实验六 实验题目: 数据库的安全性 实验目的: 掌握SQL SERVER 2005的安全控制机制 实验内容: 1. 创建登录 创建lg1,lg2,并设定口令 2. 定义用户 定义user1,user2,user1以lg1登录,user2以lg2登录,user1定义角色ddl_admin,datareader,datawriter 3. 掌握SQL SERVER 2005架构和用户分离的概念 为user1创建架构u1,并建立test,通过授权模式的方法,授权给user2访问test的权限 4. 数据库的授权、收权语句 ☆ 将查询SC和修改GRADE属性的权限授予用户user1。 ☆ 将对S的插入权限授予用户user2,并允许他将此权限授予其他用户。 ☆ 收回所有用户对S的插入权限。 实验七 实验题目: 数据库的设计 实验目的: 掌握数据库的概念结构设计和逻辑结构与设计,掌握ER图的示方法即如何将ER模型转化为关系模型 1.学校有若干系,每个系有若干班级和教研室,每个教研室有若干教师,其有教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课有若干学生选修。 2.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料组成,不同零件所用的材料可以相同。有些零件按所属的不同产品分别放在仓库,原材料按照类别放在若干仓库
2008数据库实验 1.SQL SEVER 2000的系统工具、使用交互方式建库、建 2.T—SQL的简单查询、连接查询 3.子查询及组合 4.数据控制、数据导入/导出、数据备份和恢复 实验1 SQL SEVER 2000的系统工具、使用交互方式建库、建实验 实验目的和要求:了解SQL SEVER 2000的功能及组成,熟练掌握利用SQL SEVER 2000企业管理器和查询分析器创建数据库、索引和修改结构及向数据库输入数据、修改数据和删除数据的操作方法和步骤,掌握定义数据约束条件的操作。 实验内容和步骤: (1)熟悉SQL SEVER 2000的界面和操作。 (3)熟悉企业管理器和查询分析器的界面和操作。 (3)创建数据库和查看数据库属性。 (4)创建、确定的主码和约束条件。 (5)查看和修改的结构。 (6)向数据库输入数据,观察违反列级约束时出现的情况。 (7)修改数据。 (8)删除数据,观察违反级约束时出现的情况。 实验2 T—SQL的简单查询、连接查询 实验目的和要求:,了解SQL语句的数据定义与数据更新功能,了解SQL语句的查询功能,掌握SQL的数据定义语句的用法,熟练掌握SQL的插入、修改和删除语句的操作,熟练掌握使用SQL语句进行数据库的简单查询、连接查询。 实验内容和步骤: (1)在SQL SEVER 2000的查询分析器里,用SQL语句建库、建并插入记录。 (2)修改结构,包括修改属性列的数据类型,增加新的属性列,删除已有的属性列。 (3)使用单个元组和多元组插入。 (4)简单查询操作,包括投影、选择、数据排序、模糊匹配查询等。如果结果不正确,要进行修改,直至正确为止。 (5)连接查询操作,包括等值连接、自然连接、一般连接、自身连接、外连接。 实验3 子查询及组合 实验目的和要求:了解SQL语句的查询功能,理解视图的概念。熟练掌握使用SQL语句进行数据库的嵌套查询及组合查询的操作;掌握视图创建语句和视图的使用方法,加深对视图作用的理解。 实验内容和步骤: (1)在DBMS的交互式环境里,用SQL语句建库、建并插入记录。 (2)使用In、比较符和Exists操作符进行嵌套查询操作。 (3)分组查询,包括分组条件达、选择组条件达的方法。 (4)集合查询。 (5)使用视图创建语句建视图,通过视图查询数据 (6)带子查询的修改和删除 (7)通过视图修改和删除数据 实验4 数据控制、数据的导入/导出、数据库备份和恢复 实验目的和要求:掌握数据控制(安全性)的方法,了解SQL SEVER 2000的数据备份和恢复机制,掌握SQL SEVER 2000数据库备份和恢复的方法。 实验内容和步骤: (1)使用SQL对数据进行安全性控制,包括授权和权利收回。 (2)查看授权和权利收回后的结果 (3)SQL SEVER 2000工具对的数据导出到其它格式的文件。 (4)将其它格式的文件数据导入到数据库。 (5)使用SQL SEVER 2000工具创建一个数据库的备份(海量备份、增量备份)。 (6)使用SQL SEVER 2000工具及所创建的数据库备份恢复这个数据库

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值