数据库 数据操作语言DML实验.docx

上传人:b****5 文档编号:28493096 上传时间:2023-07-15 格式:DOCX 页数:24 大小:126.51KB
下载 相关 举报
数据库 数据操作语言DML实验.docx_第1页
第1页 / 共24页
数据库 数据操作语言DML实验.docx_第2页
第2页 / 共24页
数据库 数据操作语言DML实验.docx_第3页
第3页 / 共24页
数据库 数据操作语言DML实验.docx_第4页
第4页 / 共24页
数据库 数据操作语言DML实验.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

数据库 数据操作语言DML实验.docx

《数据库 数据操作语言DML实验.docx》由会员分享,可在线阅读,更多相关《数据库 数据操作语言DML实验.docx(24页珍藏版)》请在冰豆网上搜索。

数据库 数据操作语言DML实验.docx

数据库数据操作语言DML实验

数据库系统原理

实验报告

 

实验名称:

数据操作语言DML实验

 

任课教师:

***

学号:

*********

*******

完成日期:

2012.10.3

 

一、实验目的

1、建立基本表并进行DML操作。

2、数据查询:

单表查询、连接查询、嵌套查询、集合查询和统计等功能。

3、数据更新:

增加、删除、查询和修改功能。

二、实验过程与分析

1、用Create、Insert语句创建基本表S,P,J和SPJ

(1)、基本表S

createtableS

SNOchar(3)primarykey,

SNAMEchar(10),

STATUSchar

(2),

CITYchar(10)

);

(2)、基本表P

createtableP

(PNOchar(3)primarykey,

PNAMEchar(10),

COLORchar(4),

WEIGHTint

);

(3)、基本表J

createtableJ

(JNOchar(3)primarykey,

JNAMEchar(10),

CITYchar(10));

(4)、基本表SPJ

createtableSPJ

(SNOchar(3),

PNOchar(3),

JNOchar(3),

QTYint,

primarykey(SNO,PNO,JNO),

foreignkey(SNO)referencesS(SNO),

foreignkey(PNO)referencesP(PNO),

foreignkey(JNO)referencesJ(JNO));

2、插入数据

(1)、向S表插入数据

insertintoSvalues('S1','精益','20','天津');

insertintoSvalues('S2','盛锡','10','北京');

insertintoSvalues('S3','东方红','30','北京');

insertintoSvalues('S4','丰泰盛','30','天津');

insertintoSvalues('S5','为民','30','上海');

(2)、向P表插入数据

insertintoPvalues('P1','螺母','红','12');

insertintoPvalues('P2','螺楦','绿','17');

insertintoPvalues('P3','螺丝刀','蓝','14');

insertintoPvalues('P4','螺丝刀','红','14');

insertintoPvalues('P5','凸轮','蓝','40');

insertintoPvalues('P6','齿轮','红','30');

(3)、向J表插入数据

insertintoJvalues('J1','三建','北京');

insertintoJvalues('J2','一汽','长春');

insertintoJvalues('J3','弹簧厂','天津');

insertintoJvalues('J4','造船厂','天津');

insertintoJvalues('J5','机车厂','唐山');

insertintoJvalues('J6','无线电厂','常州');

insertintoJvalues('J7','半导体厂','南京');

(4)、向SPJ表插入数据

insertintoSPJvalues('S1','P1','J1','200');

insertintoSPJvalues('S1','P1','J3','100');

insertintoSPJvalues('S1','P1','J4','700');

insertintoSPJvalues('S1','P2','J1','100');

insertintoSPJvalues('S2','P3','J1','400');

insertintoSPJvalues('S2','P2','J4','200');

insertintoSPJvalues('S2','P3','J4','500');

insertintoSPJvalues('S2','P3','J5','400');

insertintoSPJvalues('S2','P5','J1','400');

insertintoSPJvalues('S2','P5','J2','100');

insertintoSPJvalues('S3','P1','J1','200');

insertintoSPJvalues('S3','P3','J1','200');

insertintoSPJvalues('S4','P2','J1','100');

insertintoSPJvalues('S4','P2','J3','300');

insertintoSPJvalues('S4','P6','J4','200');

insertintoSPJvalues('S5','P2','J4','100');

insertintoSPJvalues('S5','P3','J1','200');

insertintoSPJvalues('S5','P6','J2','200');

insertintoSPJvalues('S5','P6','J4','500');

运行结果:

Oracle8EnterpriseEditionRelease8.0.5.0.0-Production

PL/SQLRelease8.0.5.0.0-Production

*

SQLWKS>createtableS

2>(

3>SNOchar(3)primarykey,

4>SNAMEchar(10),

5>STATUSchar

(2),

6>CITYchar(10)

7>);

语句已处理。

SQLWKS>

SQLWKS>createtableP

2>(

3>PNOchar(3)primarykey,

4>PNAMEchar(10),

5>COLORchar(4),

6>WEIGHTint

7>);

语句已处理。

SQLWKS>

SQLWKS>createtableJ

2>(

3>JNOchar(3)primarykey,

4>JNAMEchar(10),

5>CITYchar(10)

6>);

语句已处理。

SQLWKS>

SQLWKS>createtableSPJ

2>(

3>SNOchar(3),

4>PNOchar(3),

5>JNOchar(3),

6>QTYint,

7>primarykey(SNO,PNO,JNO),

8>foreignkey(SNO)referencesS(SNO),

9>foreignkey(PNO)referencesP(PNO),

10>foreignkey(JNO)referencesJ(JNO)

11>);

语句已处理。

SQLWKS>

SQLWKS>insertintoSvalues('S1','精益','20','天津');

处理了1行。

SQLWKS>insertintoSvalues('S2','盛锡','10','北京');

处理了1行。

SQLWKS>insertintoSvalues('S3','东方红','30','北京');

处理了1行。

SQLWKS>insertintoSvalues('S4','丰泰盛','30','天津');

处理了1行。

SQLWKS>insertintoSvalues('S5','为民','30','上海');

处理了1行。

SQLWKS>

SQLWKS>insertintoPvalues('P1','螺母','红','12');

处理了1行。

SQLWKS>insertintoPvalues('P2','螺楦','绿','17');

处理了1行。

SQLWKS>insertintoPvalues('P3','螺丝刀','蓝','14');

处理了1行。

SQLWKS>insertintoPvalues('P4','螺丝刀','红','14');

处理了1行。

SQLWKS>insertintoPvalues('P5','凸轮','蓝','40');

处理了1行。

SQLWKS>insertintoPvalues('P6','齿轮','红','30');

处理了1行。

SQLWKS>

SQLWKS>insertintoJvalues('J1','三建','北京');

处理了1行。

SQLWKS>insertintoJvalues('J2','一汽','长春');

处理了1行。

SQLWKS>insertintoJvalues('J3','弹簧厂','天津');

处理了1行。

SQLWKS>insertintoJvalues('J4','造船厂','天津');

处理了1行。

SQLWKS>insertintoJvalues('J5','机车厂','唐山');

处理了1行。

SQLWKS>insertintoJvalues('J6','无线电厂','常州');

处理了1行。

SQLWKS>insertintoJvalues('J7','半导体厂','南京');

处理了1行。

SQLWKS>

SQLWKS>insertintoSPJvalues('S1','P1','J1','200');

处理了1行。

SQLWKS>insertintoSPJvalues('S1','P1','J3','100');

处理了1行。

SQLWKS>insertintoSPJvalues('S1','P1','J4','700');

处理了1行。

SQLWKS>insertintoSPJvalues('S1','P2','J1','100');

处理了1行。

SQLWKS>insertintoSPJvalues('S2','P3','J1','400');

处理了1行。

SQLWKS>insertintoSPJvalues('S2','P2','J4','200');

处理了1行。

SQLWKS>insertintoSPJvalues('S2','P3','J4','500');

处理了1行。

SQLWKS>insertintoSPJvalues('S2','P3','J5','400');

处理了1行。

SQLWKS>insertintoSPJvalues('S2','P5','J1','400');

处理了1行。

SQLWKS>insertintoSPJvalues('S2','P5','J2','100');

处理了1行。

SQLWKS>insertintoSPJvalues('S3','P1','J1','200');

处理了1行。

SQLWKS>insertintoSPJvalues('S3','P3','J1','200');

处理了1行。

SQLWKS>insertintoSPJvalues('S4','P2','J1','100');

处理了1行。

SQLWKS>insertintoSPJvalues('S4','P2','J3','300');

处理了1行。

SQLWKS>insertintoSPJvalues('S4','P6','J4','200');

处理了1行。

SQLWKS>insertintoSPJvalues('S5','P2','J4','100');

处理了1行。

SQLWKS>insertintoSPJvalues('S5','P3','J1','200');

处理了1行。

SQLWKS>insertintoSPJvalues('S5','P6','J2','200');

处理了1行。

SQLWKS>insertintoSPJvalues('S5','P6','J4','500');

处理了1行。

3、用Select查询数据

(1)、求供应工程J1零件的供应商号SNO;

运行结果:

SQLWKS>selectSNOfromSPJ

2>whereSPJ.JNO='J1';

SNO

---

S1

S2

S3

S4

S5

已选择5行。

(2)、求供应工程J1零件P1的供应商号SNO;

运行结果:

SQLWKS>selectdistinctSNOfromSPJ

2>whereSPJ.JNO='J1'andSPJ.PNO='P1';

SNO

---

S1

S3

已选择2行。

(3)、求供应工程J1零件为红色的供应商号SNO;

运行结果:

SQLWKS>selectdistinctSNOfromSPJ,P

2>whereSPJ.JNO='J1'andP.COLOR='红'andP.PNO=SPJ.PNO;

SNO

---

S1

S3

已选择2行。

(4)、求没有使用天津供应商生产的红色零件的工程号JNO;

SQLWKS>selectjno

2>fromspj

3>wherejnonotin

4>(selectjno

5>fromspj,p,s

6>wherecity='天津'andcolor=’红’and

7>s.sno=spj.snoandp,pno=spj,pno)

8>

JNO

---

J2

J5

已选择2行。

 

(5)、求至少用了供应商S1所供应的全部零件的工程号JNO;

SQLWKS>selectdistinctpno

2>fromspj

3>wheresno=’S1’

4>froms

JNO

---

P1

P2

已选择2行。

SQLWKS>selectdistinctjno

2>fromspj

3>wherepno=’P1’andjnoin

4>(selectjno

5>fromspj

6>wherepno=’P2’

7>

JNO

---

J1

J3

J4

已选择3行。

(6)、找出所有供应商的姓名和所在城市;

SQLWKS>selectsname,city

2>froms;

SNAMECITY

--------------------

精益天津

盛锡北京

东方红北京

丰泰盛天津

为民上海

已选择5行。

(7)、找出所有零件的名称、颜色、重量;

SQLWKS>selectpname,color,weight

2>fromp;

PNAMECOLOWEIGHT

------------------------

螺母红12

螺楦绿17

螺丝刀蓝14

螺丝刀红14

凸轮蓝40

齿轮红30

已选择6行。

(8)、找出使用供应商S1所供应零件的工程号;

SQLWKS>selectdistinctJNO

2>fromSPJ

3>whereSNO='S1';

JNO

---

J1

J3

J4

已选择3行。

(9)、找出工程项目J2使用的各种临近的名称及其重量;

SQLWKS>selectPNAME,QTY

2>fromP,SPJ

3>whereSPJ.JNO='J2'andSPJ.PNO=P.PNO;

PNAMEQTY

--------------------

凸轮100

齿轮200

已选择2行。

(10)、找出上海厂商供应的所以零件的零件号;

SQLWKS>selectdistinctPNO

2>fromSPJ,S

3>whereS.CITY=’上海’andS.SNO=SPJ.SNO

4>andSPJ.JNO=J.JNO

5>

JNO

---

P2

P3

P6

已选择3行。

(11)、找出使用上海产的零件的工程名称;

SQLWKS>selectdistinctJNAME

2>fromS,J,SPJ

3>whereSPJ.JNO=J.JNOandSPJ.SNO=(selectSNO

4>fromS

5>whereS.CITY='上海')

6>

JNAME

----------

三建

一汽

造船厂

已选择3行。

(12)、找出没有使用天津产的零件的工程号;

SQLWKS>selectdistinctJNO

2>fromS,J,SPJ

3>whereJNO

4>(selectjno

5>fromS.SPJ

6>whereS,CITY=’天津’andS.SNO=SPJ.SNO)

7>

JNO

----------

J2

J5

已选择2行。

(13)、列出包含SNo,SNAME,PNO,PNAME,JNO,JNAME,QTY属性的清单;

(14)、统计各工程项目所用不同零件的数量;

(15)、统计各供应商供应的各种零件数量;

4、用Insert、Delete和Update语句实现如下数据更新

(1)、将全部红色零件的颜色改为蓝色;

updatep

setcolor='蓝'

wherecolor='红';

select*fromp;

(2)、将工程J3的城市改为上海;

updatej

setcity='上海'

wherej.jno='J3';

select*fromj;

(3)、有S5供给J4的零件P6改为由S3供应;

updatespj

setsno='S3'

wherespj.sno='S5'

andpno='P6'

andjno='J4'

select*fromspj

(4)、从供应商关系中删除S2的元组,并从供应关系中删除相应元组;

delete

fromspj

wheresno='S2';

delete

froms

wheresno='S2';

select*froms;

select*fromspj;

(5)、请将S2向工程项目J6供应200个P4零件的信息加入到供应关系;

insertintosvalues('S2','西风','15','北京');

insertintospjvalues('S2','P4','J6','200');

select*froms;

select*fromspj;

(6)、请将S6向项目J8供应500个P7零件的信息加入到供应关系;

insertintosvalues('S6','中华','20','上海');

insertintopvalues('P7','扳手','黑','15');

insertintojvalues('J8','电力厂','广州');

insertintospjvalues('S6','P7','J8','600');

5、用Insert、Delete和Update语句实现如下数据更新

createtableStudent(

snochar(5)primarykey,

snamevarchar(10)unique,

ssexchar(4)notnull,

sagenumber(3)default0,

sdeptvarchar(10));

createtableCourse(

cnochar(5)primarykey,

cnamevarchar2(15)notnull,

cpnochar(5),

ccreditnumber(4),

foreignkey(cpno)referencesCourse(cno));

createtableSC

(snochar(5),

cnochar(5),

gradenumber(3),

primarykey(sno,cno),

foreignkey(sno)referencesStudent(sno),

foreignkey(cno)referencesCourse(cno));

altertableStudentaddjiguanvarchar2(20);

altertableStudentaddshijiandate;

altertableCoursemodifycnochar(4);

altertableCoursemodifycpnochar(4);

altertableSCmodifycnochar(4);

altertableStudentdropunique(sname);

createuniqueindexStusnameonStudent(sname);

createuniqueindexCoucnameonCourse(cname);

createindexSgradeonSC(snoasc,gradedesc);

insertintoStudentvalues('95001','李勇','男'20,'cs','北京','27-2月-05');

insertintoStudentvalues('95002','张三','女',21,'cs','天津','27-2月-05');

insertintoStudentvalues('95003','李四','女',20,'cs','上海','27-2月-05');

insertintoSt

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1