河北工业大学数据库原理及应用实验实验报告 下载本文

内容发布更新时间 : 2024/9/24 9:30:01星期一 下面是文章的全部内容请认真阅读。

《数据库原理及应用实验》

姓名:徐毅民学号:

153299

实验报告

班级:网络151

实验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,'010-51001199',0.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;