一、实验目的:
1.掌握数据更新语句
2.掌握视图创建的SQL语句
二、实验内容:
-
向客户表中插入一行:客户编号为34,公司名称为“人民低电压”,联系人为“南辉”。
更新语句:
INSERT INTO Customer(CustomerID,CompanyName,ContactName) VALUES('34','人民低电压','南辉')
执行结果:
-
先定义一张表day_total,该表中包含两个属性列(销售日期 smalldatetime,销售订单数 int),在Sell_order中统计每天的销售订单数,并将结果插入到day_total表中。
更新语句:
CREATE TABLE day_total ( 销售日期 smalldatetime, 销售订单数 int ) INSERT INTO day_total SELECT SellOrderDate,COUNT(SellOrderID) FROM Sell_Order GROUP BY SellOrderDate
执行结果:
-
将商品表中所有商品的价格上浮20%。
更新语句:
UPDATE Product SET Price=Price*1.2
执行结果:
更新前:
更新后:
-
将商品表中库存量小于10的商品库存量置零。
更新语句:
UPDATE Product SET ProductStockNumber=0 WHERE ProductStockNumber<10
执行结果:
-
删除采购订单表Purchase_Order中商品库存量小于0的订单。
更新语句:
DELETE FROM Purchase_order WHERE ProductID IN (SELECT ProductID FROM Product WHERE ProductStockNumber<0 )
执行结果:
-
删除员工EmployeeName为“”的所有销售订单。(自己任意指定一个员工名)
更新语句:
DELETE FROM Sell_Order WHERE EmployeeID IN ( SELECT EmployeeID FROM Employee WHERE EmployeeName='刘启芬' )
执行结果:
更新前:
更新后:
-
创建视图View_employee,输出员工号,姓名,性别,部门号
创建语句:
CREATE VIEW View_employee(员工号,姓名,性别,部门号) AS SELECT EmployeeID,EmployeeName,Sex,DepartmentID FROM Employee
执行结果:
-
基于视图View_employee和部门表,查询各部门名称、各部门员工人数。
查询语句:
SELECT DepartmentName,COUNT(员工号) 部门员工人数 FROM Department,View_employee WHERE DepartmentID=View_employee.部门号 GROUP BY DepartmentName
执行结果:
-
创建客户订单信息视图View_customerorder,包括客户公司名称,订购商品名称,单价,订购日期。
创建语句:
CREATE VIEW View_customerorder(客户公司名称,订购商品名称,单价,订购日期) AS SELECT CompanyName,ProductName,Price,SellOrderDate FROM Customer,Sell_Order,Product WHERE Customer.CustomerID=Sell_Order.CustomerID AND Product.ProductID=Sell_Order.ProductID
执行结果:
-
基于视图View_customerorder,查询“三川实业有限公司”订购商品情况。
查询语句:
SELECT * FROM View_customerorder WHERE 客户公司名称='三川实业有限公司'
执行结果:
三、实验总结
本次实验掌握了对于表的更新操作,以及插入、删除操作,以及基础的分组、计数等操作;同时联系了建立视图、基于视图的查询、基于视图的连接等操作,对于数据库的了解进一步加深