- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
.
.
《数据库原理及应用实验》
实验报告
班级:网络151
姓名:徐毅民
学号:153299
实验1 数据库定义与操作语言实验
实验1.4 数据更新实验
1、实验目的
熟悉数据库的数据更新操作,能够使用SQL语句对数据库进行数据的插入、删除、修改操作。
2、实验内容和要求
针对TPC-H数据库设计数据单元组插入、批量数据插入、修改数据和删除数据等SQL语句。理解和掌握INSERTT、UPDATE、和DELETE语法结构的各个组成成分,结合嵌套SQL子查询,分别设计几种不同形式的插入、修改和删除数据的语句,并调试成功。
3、实验重点和难点
实验重点:插入、修改和删除数据的SQL
实验难点:与嵌套SQL子查询相结合的插入、修改和删除数据的SQL语句;利用一个表的数据来插入、修改和删除另一个表的数据。
4、实验报告示例
(1)INSERT基本语句(插入全部列的数据)
插入一条顾客记录,要求每列都给一个合理的值。
INSERT INTO Customer
VALUES (30,张三,北京市,40,0100.00,Northeast,VIP Customer);
(2)INSERT基本语句(插入部分列的数据)
插入一条订单记录,给出必要的几个字段值。
INSERT INTO Lineitem(orderkey,Linenumber,partkey,suppkey,quantity,shipdate)
VALUES(862,ROUND(RANDOM()*100,0,479,1,10,2012-3-6);
/*RANDOM()函数为随机小数生成函数,ROUND()为四舍五入函数*/
(3)批量数据INSERT语句
① 创建一个新的顾客表,把所有中国籍顾客插入到新的顾客表中。
INSERT INTO NewCustomer /*批量插入SELECT 语句查询结果到NewCustomer表中*/
SELECT C.*
FROM Costomer C,Nation N
WHERE C.nationkey=N.nationkey AND N.name=中国;
② 创建一个顾客购物统计表,记录每个顾客及其购物总数和总价等信息。
CREATE TABLE ShoppingStat(
custkey INTEGER,
quantity REAL,
totalprice REAL);
INSERT INTO ShoppingStat
SELECT C.custkey,Sum(L.quantity),Sum(O.totalprice) /*对分组后的数据求总和*/
FROM Customer C,Order O,Lineitem L
WHERE C.custkey=O.custkey AND O.orderkey=L.orderkey
GROUP BY C.custkey
③ 倍增零件表的数据,多次重复执行,直到总记录数达到50万为止。
INSERT INTO Part
SELECT partkey+(SELECT COUNT(*) FROM Part),
name,mfgr,brand,type,size,container,retailprice,comment
FROM Part;
(4)UPDATE语句(插入部分记录的部分列值)
“金仓集团”供应的所有零件的供应成本价下降10%。
UPDATE PartSupp
SET supplycost=supplycost*0.9
WHERE suppkey=(
SELECT suppkey /*找出要修改的那些记录*/
FROM Supplier
WHERE name=金仓集团);
(5)UPDATE语句(利用一个表中的数据修改另外一个表中的数据)
利用Part表中的零售价格来修改Lineitem中的extendedprice,其中extendedprice=Part.retailprice*quantity。
UPDATE Lineitem L
SET L.extendedprice=P.retailprice*L.quantity
FROM Part P
WHERE L.partkey=P.partkey;
/*Lineitem表也可以直接与Part表相连接,而不需通过PartSupp连接*/
(6)DELETE基本语句(删除给定条件的所有记录)
删除顾客张三的所有订单记录。
DELECT FROM Lineitem /*先删除张三的订单明细记录*/
WHERE ord
文档评论(0)