《实验一数据定义及更新语句练习报告.docx》由会员分享,可在线阅读,更多相关《实验一数据定义及更新语句练习报告.docx(6页珍藏版)》请在三一办公上搜索。
1、实验一数据定义及更新语句练习报告实验一:数据定义及更新语句练习 一 实验目的:熟练掌握用SQL语句实现数据库和基本表的创建、数据的更新。 二 实验内容: 用SQL语句建立如下mySPJ数据库,包括S,P,J,和SPJ四个基本表(教材第二章习题5中的四个表),要求实现关系的三类完整性。 S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY) 供应商表S由供应商代码、供应商姓名、供应商状态、供应商所在城市组成。 零件表P由零件代码、零件名、颜色、重量组成。 工程项目表J
2、由工程项目代码、工程项目名、工程项目所在城市组成。 供应情况表SPJ由供应商代码、零件代码、工程项目代码、供应数量组成,表示某供应商 供应某种零件 给某工程项目的数量为QTY。 更新表数据: 1.利用Insert 语句将习题中给出的示例记录插入各表。 2.利用Update更新表中的记录: 将p表中的所有红色零件的重量增加5。 将spj表中所有天津供应商的QTY属性值减少10。用子查询。 3.利用Delete语句删除p表中的所有红色零件的记录。 4.SQL语句执行后返回基本表查看更新后的结果,如果与期望不符,分析原因并记录在实验报告中。 三 完成情况: CREATE DATABASE MYSPJ
3、; CREATE TABLE S (SNO CHAR(10) PRIMARY KEY, SNAME CHAR(10) UNIQUE, STATUS SMALLINT, CITY CHAR(10) ); CREATE TABLE P (PNO CHAR(10) PRIMARY KEY, PNAME CHAR (20), COLOR CHAR(10), WEIGHT SMALLINT ); CREATE TABLE J (JNO CHAR(10) PRIMARY KEY, JNAME CHAR(20), CITY CHAR(10) ); CREATE TABLE SPJ (SNO CHAR(10)
4、, PNO CHAR(10), JNO CHAR(10), QTY SMALLINT, PRIMARY KEY (SNO,PNO,JNO) ); (二) 1. INSERT INTO S VALUES(S1,精益,20,天津); INSERT INTO S VALUES(S2,盛锡,10,北京); INSERT INTO S VALUES(S3,东方红,30,北京); INSERT INTO S VALUES(S4,丰泰盛,20,天津); INSERT INTO S VALUES(S5,为民,30,上海); INSERT INTO P VALUES(P1,螺母,红,12); INSERT IN
5、TO P VALUES(P2,螺栓,绿,17); INSERT INTO P VALUES(P3,螺丝刀,蓝,14); INSERT INTO P VALUES(P4,螺丝刀,红,14); INSERT INTO P VALUES(P5,凸轮,蓝,40); INSERT INTO P VALUES(P6,齿轮,红,30); INSERT INTO J VALUES(J1,三建,北京); INSERT INTO J VALUES(J2,一汽,长春); INSERT INTO J VALUES(J3,弹簧厂,天津); INSERT INTO J VALUES(J4,造船厂,天津); INSERT
6、INTO J VALUES(J5,机车厂,唐山); INSERT INTO J VALUES(J6,无线电厂,常州); INSERT INTO J VALUES(J7,半导体厂,南京); INSERT INTO SPJ VALUES(S1,P1,J1,200); INSERT INTO SPJ VALUES(S1,P1,J3,100); INSERT INTO SPJ VALUES(S1,P1,J4,700); INSERT INTO SPJ VALUES(S1,P2,J2,100); INSERT INTO SPJ VALUES(S2,P3,J1,400); INSERT INTO SPJ
7、VALUES(S2,P3,J2,200); INSERT INTO SPJ VALUES(S2,P3,J4,500); INSERT INTO SPJ VALUES(S2,P3,J5,400); INSERT INTO SPJ VALUES(S2,P5,J1,400); INSERT INTO SPJ VALUES(S2,P5,J2,100); INSERT INTO SPJ VALUES(S3,P1,J1,200); INSERT INTO SPJ VALUES(S3,P3,J1,200); INSERT INTO SPJ VALUES(S4,P5,J1,200); INSERT INTO
8、SPJ VALUES(S4,P6,J3,200); INSERT INTO SPJ VALUES(S4,P6,J4,200); INSERT INTO SPJ VALUES(S5,P2,J4,200); INSERT INTO SPJ VALUES(S5,P3,J1,200); INSERT INTO SPJ VALUES(S5,P6,J2,200); INSERT INTO SPJ VALUES(S5,P6,J4,500); SELECT * FROM SPJ; 2.利用Update更新表中的记录: 将p表中的所有红色零件的重量增加5。 update p set weight=weight+
9、5 where color=红 将spj表中所有天津供应商的QTY属性值减少10。用子查询。 update spj set QTY =QTY -10 where sno in ( select sno from s where city =天津 ) 3.利用Delete语句删除p表中的所有红色零件的记录。 delete from p where color =红 四 问题及解决: 1, 有时由于粗心,把类型定义错,之后经过检查改正。 2, 有时格式书写不太规范,整理后变正常。 五 思考题: 在为各表设定关键字时弹出的页面中有关键字和索引选项,试通过给基本表设定这两个项目并说明二者的区别。 索引可以加快表的查询速度,经常用来查询的一个或者几个字段设置为索引。 在基本表中输入数据时,注意数据与字段的数据类型和长度以及能否为空的属性是否一致,保存时如有错误分析错误原因,及时改正并将错误报告写在实验报告中。 在基本表中输入数据时,不为空的地方不可以输入空值,否则将无法继续输入。 六 实验总结: 经过上机练习,使平时只在书上的知识得以实践,更加形象直接的明白了解了SQL,虽然出现了一些小问题,但经过检查都解决了。