实验三 数据的更新

一、实验目的
1.掌握基本表的Insert,Update,Delete操作
2.掌握视图的Insert,Update,Delete操作

二、实验环境(实验的软件、硬件环境)
硬件:PC机 软件:SQL2000

三、实验说明
请复习相关的SQL语句insert,update,delete语法知识点并完成如下内容。

四、实验内容
1.表中数据的基本操作
(1)给实验二中的5张表添加记录,记录数据见数据文件data.txt

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2005001’, ‘喻自强’, ‘M’, ‘1965-4-15’, ‘南京市’, ‘13817605008’, ‘1990-2-6’, ‘财务科’, ‘科长’, 5800.80)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2005002’, ‘张小梅’, ‘F’, ‘1973-11-1’, ‘上海市’, ‘13817605008’, ‘1991-3-28’, ‘业务科’, ‘职员’, 2400.00)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2005003’, ‘张小娟’, ‘F’, ‘1973-3-6’, ‘上海市’, ‘13817605008’, ‘1992-3-28’, ‘业务科’, ‘职员’, 2600.00)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2005004’, ‘张露’, ‘F’, ‘1967-1-5’, ‘南昌市’, ‘13817605008’, ‘1990-3-28’, ‘业务科’, ‘科长’, 4100.00)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2005005’, ‘张小东’, ‘M’, ‘1973-9-3’, ‘南昌市’, ‘13817605008’, ‘1992-3-28’, ‘业务科’, ‘职员’, 1800.00)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2006001’, ‘陈辉’, ‘M’, ‘1965-11-1’, ‘南昌市’, ‘13817605008’, ‘1990-3-28’, ‘办公室’, ‘主任’, 4000.00)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2006002’, ‘韩梅’, ‘F’, ‘1973-12-11’, ‘上海市’, ‘13817605008’, ‘1990-11-28’, ‘业务科’, ‘职员’, 2600.00)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2006003’, ‘刘风’, ‘F’, ‘1973-5-21’, ‘南昌市’, ‘13817605008’, ‘1991-2-28’, ‘业务科’, ‘职员’, 2500.00)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2007001’, ‘吴浮萍’, ‘M’, ‘1973-9-1’, ‘南京市’, ‘13817605008’, ‘1990-6-28’, ‘业务科’, ‘职员’, 2500.00)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2007002’, ‘高代鹏’, ‘M’, ‘1973-1-2’, ‘南京市’, ‘13817605008’, ‘1991-11-28’, ‘办公室’, ‘文员’, 2000.00)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2008001’, ‘陈诗杰’, ‘M’, ‘1968-1-6’, ‘南京市’, ‘13817605008’, ‘1990-12-6’, ‘财务科’, ‘出纳’, 3200.00)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2008002’, ‘张良’, ‘M’, ‘1972-2-16’, ‘上海市’, ‘13817605008’, ‘1992-2-28’, ‘业务科’, ‘职员’, 2700.00)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2008003’, ‘黄梅莹’, ‘F’, ‘1972-5-15’, ‘上海市’, ‘13817605008’, ‘1991-2-28’, ‘业务科’, ‘职员’, 3100.00)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2008004’, ‘李虹冰’, ‘F’, ‘1972-10-13’, ‘南京市’, ‘13817605008’, ‘1990-5-28’, ‘业务科’, ‘职员’, 3400.00)

insert into employee(employeeNo, employeeName, sex, birthday, address, telephone, hiredate, department, headship, salary)
values(‘E2008005’, ‘张小梅’, ‘F’, ‘1970-11-6’, ‘深圳市’, ‘13817605008’, ‘1990-11-18’, ‘财务科’, ‘会计’, 5000.00)

insert into customer(CustomerNo, customerName, Address, telephone, zip)
values(‘c2005001’, ‘统一股份有限公司’, ‘022-3566021’, ‘天津市’, ‘220012’)

insert into customer(CustomerNo, customerName, Address, telephone, zip)
values(‘c2005002’, ‘兴隆股份有限公司’, ‘022-3566021’, ‘天津市’, ‘220301’)

insert into customer(CustomerNo, customerName, Address, telephone, zip)
values(‘c2005003’, ‘上海生物研究室’, ‘022-3566021’, ‘北京市’, ‘108001’)

insert into customer(CustomerNo, customerName, Address, telephone, zip)
values(‘c2005004’, ‘五一商厦’, ‘022-3566021’, ‘上海市’, ‘210100’)

insert into customer(CustomerNo, customerName, Address, telephone, zip)
values(‘c2006001’, ‘大地商城’, ‘022-3566021’, ‘北京市’, ‘100803’)

insert into customer(CustomerNo, customerName, Address, telephone, zip)
values(‘c2006002’, ‘联合股份有限公司’, ‘022-3566021’, ‘上海市’, ‘210100’)

insert into customer(CustomerNo, customerName, Address, telephone, zip)
values(‘c2007001’, ‘南昌电脑研制公司’, ‘022-3566021’, ‘南昌市’, ‘330046’)

insert into customer(CustomerNo, customerName, Address, telephone, zip)
values(‘c2007002’, ‘世界技术开发公司’, ‘022-3566021’, ‘上海市’, ‘210230’)

insert into customer(CustomerNo, customerName, Address, telephone, zip)
values(‘c2007003’, ‘万事达股份有限公司’, ‘022-3566021’, ‘天津市’, ‘220400’)

insert into customer(CustomerNo, customerName, Address, telephone, zip)
values(‘c2008001’, ‘红度股份有限公司’, ‘022-3566021’, ‘北京市’, ‘100800’)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2005001’, ‘32M DRAM’, ‘内存’, 80.70)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2005002’, ‘17寸显示器’, ‘显示器’, 700.00)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2005003’, ‘120GB硬盘’, ‘存储器’, 300.00)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2005004’, ‘3.5寸软驱’, ‘设备’, 35.00)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2005005’, ‘键盘’, ‘设备’, 100.60)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2006001’, ‘VGA显示卡’, ‘显示器’, 1200.60)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2006002’, ‘网卡’, ‘设备’, 66.00)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2006003’, ‘Pentium100CPU’, ‘处理器’, 200.00)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2007001’, ‘1G DDR’, ‘内存’, 256.00)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2007002’, ‘52倍速光驱’, ‘设备’, 200.00)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2007003’, ‘计算机字典’, ‘图书’, 100.00)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2007004’, ‘9600bits/s调制解调’, ‘设备’, 320.00)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2008001’, ‘Pentium主板’, ‘主板’, 890.00)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2008002’, ‘索泰克主板’, ‘主板’, 1100.00)

insert into product(productNo, productName, productClass, productPrice)
values(‘p2008003’, ‘纯平显示器’, ‘显示器’, 900.00)

insert into OrderMaster(OrderNo, CustomerNo, saleNo, OrderDate, OrderSum, InvoiceNo)
values(‘200801090001’, ‘c2005001’, ‘E2005002’, ‘2008-1-9’, 0.00, ‘I000000001’)

insert into OrderMaster(OrderNo, CustomerNo, saleNo, OrderDate, OrderSum, InvoiceNo)
values(‘200801090002’, ‘c2005004’, ‘E2005003’, ‘2008-1-9’, 0.00, ‘I000000002’)

insert into OrderMaster(OrderNo, CustomerNo, saleNo, OrderDate, OrderSum, InvoiceNo)
values(‘200801090003’, ‘c2008001’, ‘E2005002’, ‘2008-1-9’, 0.00, ‘I000000003’)

insert into OrderMaster(OrderNo, CustomerNo, saleNo, OrderDate, OrderSum, InvoiceNo)
values(‘200802090001’, ‘c2005001’, ‘E2005003’, ‘2008-2-19’, 0.00, ‘I000000004’)

insert into OrderMaster(OrderNo, CustomerNo, saleNo, OrderDate, OrderSum, InvoiceNo)
values(‘200802090002’, ‘c2007002’, ‘E2008002’, ‘2008-2-19’, 0.00, ‘I000000005’)

insert into OrderMaster(OrderNo, CustomerNo, saleNo, OrderDate, OrderSum, InvoiceNo)
values(‘200803010001’, ‘c2007002’, ‘E2008001’, ‘2008-3-1’, 0.00, ‘I000000006’)

insert into OrderMaster(OrderNo, CustomerNo, saleNo, OrderDate, OrderSum, InvoiceNo)
values(‘200803020001’, ‘c2005004’, ‘E2008003’, ‘2008-3-2’, 0.00, ‘I000000007’)

insert into OrderMaster(OrderNo, CustomerNo, saleNo, OrderDate, OrderSum, InvoiceNo)
values(‘200803090001’, ‘c2007003’, ‘E2008004’, ‘2008-3-9’, 0.00, ‘I000000008’)

insert into OrderMaster(OrderNo, CustomerNo, saleNo, OrderDate, OrderSum, InvoiceNo)
values(‘200805090001’, ‘c2006002’, ‘E2008002’, ‘2008-5-9’, 0.00, ‘I000000009’)

insert into OrderMaster(OrderNo, CustomerNo, saleNo, OrderDate, OrderSum, InvoiceNo)
values(‘200806120001’, ‘c2005001’, ‘E2005002’, ‘2008-6-12’, 0.00, ‘I000000010’)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200801090001’, ‘p20050001’, 5, 500)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200801090001’, ‘p20050002’, 3, 500)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200801090001’, ‘p20050003’, 2, 300)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200801090002’, ‘p20060002’, 5, 250)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200801090002’, ‘p20080001’, 5, 280)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200801090002’, ‘p20080002’, 4, 270)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200801090002’, ‘p20080003’, 2, 158)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200801090003’, ‘p20050001’, 5, 130)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200801090003’, ‘p20060001’, 3, 350)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200802190001’, ‘p20060003’, 4, 270)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200802190001’, ‘p20070001’, 2, 158)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200802190001’, ‘p20070002’, 5, 250)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200802190001’, ‘p20070003’, 3, 350)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200802190001’, ‘p20070004’, 2, 330)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200802190001’, ‘p20080001’, 2, 160)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200802190001’, ‘p20080002’, 3, 260)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200802190001’, ‘p20080003’, 1, 330)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200802190002’, ‘p20050003’, 2, 160)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200802190002’, ‘p20050005’, 3, 150)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200802190002’, ‘p20070001’, 3, 500)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200803010001’, ‘p20050001’, 8, 150)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200803010001’, ‘p20070001’, 4, 150)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200803020001’, ‘p20050001’, 2, 100)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200803020001’, ‘p20050002’, 1, 200)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200803020001’, ‘p20070003’, 3, 200)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200803090001’, ‘p20050003’, 4, 200)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200803090001’, ‘p20050004’, 5, 250)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200803090001’, ‘p20070001’, 2, 158)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200803090001’, ‘p20070002’, 5, 380)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200803090001’, ‘p20070004’, 3, 350)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200805090001’, ‘p20060003’, 8, 300)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200805090001’, ‘p20070001’, 4, 500)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200805090001’, ‘p20070002’, 2, 600)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200805090001’, ‘p20070003’, 5, 300)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200806120001’, ‘p20050004’, 2, 600)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200806120001’, ‘p20050005’, 3, 600)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200806120001’, ‘p20060001’, 1, 300)

insert into Orderdetail(OrderNo, productNo, Qty, price)
values(‘200806120001’, ‘p20060002’, 2, 280)

(2)将作废订单(发票号5197791779)由订单明细表中删除

delete from orderdetail where OrderNo = (select OrderNo from orderMaster where InvoiceNo ='5197791779')

(3)将上海的客户住址全都改为深圳

update customer set Address = '深圳市'
where Address = '上海市'

(4)将工作满2周年的员工薪水上调5%,工作满5周年的员工薪水上调8%

    update Employee set Salary = 1.05 * Salary
where Hiredate <= DATEADD(YEAR,-2,GETDATE()) and Hiredate > dateadd(year,-5,getdate())


update Employee set Salary = 1.08 * Salary
where Hiredate <= DATEADD(YEAR,-5,GETDATE())

update Employee set Salary = 1.08 * Salary
where Hiredate <= DATEADD(YEAR,-5,GETDATE())

(5)将客户c20090001在2009年1月购买的所有商品单价打9折

update product set ProductPrice = 0.9 * ProductPrice
from orderMaster a, orderDetail b, product c
where a.customerNo = 'c20090001' and 
CONVERT(varchar(120),a.Orderdate) like '2009-1%' 
and a.orderNo = b.OrderNo
and c.ProductNo = b.ProductNo

(6)根据订单明细表,修改订单主表的订单金额信息。

update orderMaster set ordersum =
(select SUM(Qty * price) from orderDetail 
 where orderDetail.OrderNo = orderMaster.OrderNo)

2.视图中数据的基本操作
(1)在实验二创建的视图上,对视图添加一条记录数据(注意:分别查看customer表和该视图的结果)
(2)删除视图中所有姓“王”的客户数据
(3)通过视图修改表内某一个客户的姓名
(4)对员工表和订单主表创建一个视图,该视图包含相同业务员的编号、姓名、订单号、订单金额。
(5)将上述视图中订单号为200808080808的记录的订单金额改为60000
(6)给上述视图添加一条记录数据
(7)删除上述视图
五、实验步骤
请完成实验内容,并写出具体的实验步骤

六、思考题:
1.请注意区别Create,alter,drop和insert,update,delete的异同和使用情况?
2.请思考基本表数据的更新和视图数据的更新的联系和区别?

七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据结构教程》是李春葆撰写的一本经典教材,这里提到的第三版是其更新后的版本。这本教材是计算机科学和软件工程专业的学生必备的参考书之一。 这本教程以数据结构作为核心内容,系统而全面地介绍了各种数据结构及其应用。其中包括线性、栈、队列、树、图等常见的数据结构以及它们的操作和实现方式。每个章节都有详细而清晰的讲解,配有大量的示例和习题,有助于读者理解和掌握各种数据结构的基本知识和算法。 教材的第三版相比前两版进行了全面的更新和改进。在保留经典内容的基础上,增加了一些新的数据结构和算法的讲解,如红黑树、哈希、最短路径算法等。并且,教材还增加了一些实际应用的案例分析,如文件系统、数据库管理系统等,让读者更好地理解数据结构在实际应用中的作用和意义。 这本教程深入浅出,适合初学者和有一定编程基础的读者阅读。它不仅给出了数据结构的原理和概念,更重要的是通过丰富的例子和习题培养了读者的实际操作和问题解决能力。同时,教材还提供了配套的源代码和实验指导,供读者进一步学习和实践。 总之,《数据结构教程》李春葆第三版是一本值得推荐的编程教材。无论是学生还是从事计算机相关工作的专业人士,阅读并掌握其中的知识都将对他们的编程能力和问题解决能力有所提升。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值