数据库实验sql命令文档格式.docx

上传人:b****7 文档编号:22400949 上传时间:2023-02-03 格式:DOCX 页数:15 大小:18.77KB
下载 相关 举报
数据库实验sql命令文档格式.docx_第1页
第1页 / 共15页
数据库实验sql命令文档格式.docx_第2页
第2页 / 共15页
数据库实验sql命令文档格式.docx_第3页
第3页 / 共15页
数据库实验sql命令文档格式.docx_第4页
第4页 / 共15页
数据库实验sql命令文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数据库实验sql命令文档格式.docx

《数据库实验sql命令文档格式.docx》由会员分享,可在线阅读,更多相关《数据库实验sql命令文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

数据库实验sql命令文档格式.docx

(CHAR型),工程项目代码JNO(CHAR型),供应数量QTY(INT型)。

CREATETABLESPJ

PNOCHAR,

JNOCHAR,

QTYINT

2.修改基本表

1)在P表中加入属性零件产地CITY(CHAR型)。

ALTERTABLEPADDCITYCHAR

2)将P表中的属性WEIGHT类型改为SMALLINT型。

ALTERTABLEPALTERCOLUMNWEIGHTSMALLINT

3)删除刚才在P表中加入的零件产地CITY属性。

ALTERTABLEPDROPCOLUMNCITY

3.删除基本表

1)在所有操作结束后删除S表。

DROPTABLES

2)在所有操作结束后删除P表。

DROPTABLEP

3)在所有操作结束后删除J表。

DROPTABLEJ

4)在所有操作结束后删除SPJ表

DROPTABLESPJ

二、索引操作

1.建立索引

1)在S表上建立关于SNO的唯一索引。

CREATEUNIQUEINDEXSUPPLY_SNOONS(SNO)

2)在J表上建立关于JNO升序的唯一索引。

CREATEUNIQUEINDEXPROJECT_JNOONJ(JNOASC)

2.删除索引

1)删除S表上的索引supply_sno。

DROPINDEXS.SUPPLY_SNO

2)删除J表上的索引project_jno。

DROPINDEXJ.PROJECT_JNO

三、视图操作

1.建立视图

在插入数据的S,P,J,SPJ基本表上为三建工程项目记录建立一个视图V_SPJ,包括供应

商代码SNO,零件代码PNO,供应数量QTY。

CREATEVIEWV_SPJ

ASSELECTSNO,PNO,QTY

FROMS,P,J,SPJ

2.根据视图完成查询

1)查询三建工程项目中供应商S1的供应情况。

SELECT*

FROMV_SPJ

WHERESNO=S1

2)查询三建工程项目使用的各种零件代码及其数量。

SELECTPNO,QTY

3.删除视图

在操作结束后删除视图V_SPJ。

DROPVIEWV_SPJ

(二)数据操作

一、更新操作

1.插入数据

1)向S表插入下列数据:

S1,精益,20,天津

S2,盛锡,10,北京

S3,东方红,30,北京

S4,丰泰盛,20,天津

S5,为民,30,上海

INSERTINTOSVALUES(‘S1’,’精益’,’20’,’天津’)

INSERTINTOSVALUES(‘S2’,’盛锡’,’10’,’北京’)

INSERTINTOSVALUES(‘S3’,’东方红’,’30’,’北京’)

INSERTINTOSVALUES(‘S4’,’丰泰盛’,’20’,’天津’)

INSERTINTOSVALUES(‘S5’,’为民’,’30’,’上海’)

2)向P表插入下列数据:

P1,螺母,红,12

P2,螺栓,绿,17

P3,螺丝刀,蓝,14

P4,螺丝刀,红,14

P5,凸轮,蓝,40

P6,齿轮,红,30

INSERTINTOPVALUES(‘P1’,’螺母’,’红’,’12’)

INSERTINTOPVALUES(‘P2’,’螺栓’,’绿’,’17’)

INSERTINTOPVALUES(‘P3’,’螺丝刀’,’蓝’,’14’)

INSERTINTOPVALUES(‘P4’,’螺丝刀’,’红’,’14’)

INSERTINTOPVALUES(‘P5’,’凸轮’,’蓝’,’40’)

INSERTINTOPVALUES(‘P6’,’齿轮’,’红’,’30’)

 

3)向J表插入下列数据:

J1,三建,北京

J2,一汽,长春

J3,弹簧厂,天津

J4,造船厂,天津

J5,机车厂,唐山

J6,无线电厂,常州

J7,半导体厂,南京

INSERTINTOJVALUES(‘J1’,’三建’,’北京’)

INSERTINTOJVALUES(‘J2’,,’一汽’,’长春’)

INSERTINTOJVALUES(‘J3’,’弹簧厂’,’天津’)

INSERTINTOJVALUES(‘J4’,’造船厂’,’天津’)

INSERTINTOJVALUES(‘J5’,’机车厂’,’唐山’)

INSERTINTOJVALUES(‘J6’,’无线电厂’,’常州’)

INSERTINTOJVALUES(‘J7’,’半导体厂’,’南京’)

4)向SPJ表插入下列数据:

S1,P1,J1,200

S1,P1,J3,100

S1,P1,J4,700

S2,P3,J1,400

S1,P2,J2,100

S2,P3,J2,200

S2,P3,J4,500

S2,P3,J5,400

S2,P5,J1,400

S2,P5,J2,100

S3,P1,J1,200

S3,P3,J1,200

S4,P5,J1,100

S4,P6,J3,300

S4,P6,J4,200

S5,P2,J4,100

S5,P3,J1,200

S5,P6,J2,200

S5,P6,J4,500

INSERTINTOSPJVALUES(‘S1’,’P1’,’J1’,’200’)

INSERTINTOSPJVALUES(‘S1’,’P1’,’J3’,’100’)

INSERTINTOSPJVALUES(‘S1’,’P1’,’J4’,’700’)

INSERTINTOSPJVALUES(‘S2’,’P3’,’J1’,’400’)

INSERTINTOSPJVALUES(‘S1’,’P2’,’J2’,’100’)

INSERTINTOSPJVALUES(‘S2’,’P3’,’J2’,’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’,’P5’,’J1’,’100’)

INSERTINTOSPJVALUES(‘S4’,’P6’,’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’)

2.修改数据

1)将全部红色零件的颜色改成蓝色。

UPDATEP

SETCOLOR=’蓝色’

WHERECOLOR=’红色’

2)将由S5供给J4的零件P6改成由S3供应。

UPDATESPJ

SETSNO=’S3’

WHERESNO=’S5’ADDJNO=’J4’ADDPNO=’P6’

3.删除数据

从供应商关系S中删除S2的纪录,并从供应情况关系SPJ中删除相应的纪录。

DELETE

FROMS

WHERESNO=’S2’

FROMSPJ

二、查询操作

1.单表查询

1)找出所有供应商的姓名和所在城市。

SELECTSNAME,CITY

2)找出所有零件的名称、颜色、重量。

SELECTPNAME,COLOR,WEIGHT

FROMP

3)查询供应工程J1零件的供应商号码SNO。

SELECTSNO

WHEREJNO=’J1’

4)查询供应工程J1零件P1的供应商号码SNO。

WHEREJNO=’J1’ANDPNO=’P1’

2.连接查询

1)查询供应工程J1零件为红色的供应商号码SNO。

FROMP,SPJ

WHEREP.PNO=SPJ.PNOANDJNO=’J1’ANDCOLOR=’红’

2)查询工程项目J2使用的各种零件的名称及其数量。

SELECTPNAME,QTY

WHEREP.PNO=SPJ.PNOANDJNO=’J2’

3)查询使用上海产的零件的工程名称。

SELECTJNAME

FROMS,P,SPJ

WHERES.SNO=SPJ.SNOANDP.PNO=SPJ.PNOANDS.CITY=’上海’

3.嵌套查询

WHEREPNOIN(SELECTPNO

WHERECOLOR=’红’)

2)查询没有使用天津供应商生产的红色零件的工程号JNO。

SELECTJNO

WHERESNOIN(SELECTSNO

WHERECITY!

=’天津’)

ANDPNOIN(SELECTPNO

3)查询至少用了供应商S1所提供的全部零件的工程号JNO。

WHERESNO=’S1’

4)查询上海厂商供应的所有零件号码。

SELECTPNO

WHERECITY=’上海’)

5)查询使用上海产的零件的工程名称。

FROMJ

WHEREJNOIN(SELECTJNO

WHERECITY=’上海’))

6)查询没有使用天津产的零件的工程号码。

实验二:

安全性

(一)授权与回收。

【例1】授权。

在KingbaseES中建立多个用户,给他们赋予不同的权限,然后查看是否真正拥有被授予的权限了。

1)建立用户U1、U2、U3、U4、U5、U6、U7,选择全部为Connect角色。

点击管理-用户管理-新建用户,建立U1-U7用户

2)在SYSTEM(即DBA)与七个Connect用户之间进行授权。

[1-1]把查询Student表的权限授给用户U1。

grantselectonstudenttoU1

[1-2]把对Student表和Course表的全部操作权限授予用户U2和U3。

grantallonstudenttoU2

grantallonstudenttoU3

grantalloncoursetoU2

grantalloncoursetoU3

[1-3]把对表SC的查询权限授予所有用户。

grantselectonsctoU1

grantselectonsctoU2

grantselectonsctoU3

grantselectonsctoU4

grantselectonsctoU5

grantselectonsctoU6

grantselectonsctoU7

[1-4]把查询Student表和修改学生学号的权限授给用户U4。

grantselectonstudenttoU4

grantupdate(sno)onstudenttoU4

[1-5]把对表SC的INSERT权限授予U5,并允许U5将此权限再授予其他用户。

grantinsertonsctoU5withgrantoption

[1-6]用户U5将对表SC的INSERT权限授予U6,并允许将权限转授给其他用户。

切换至用户5,grantinsertonsctou6withgrantoption

实验三:

完整性

1.实体完整性

定义表的主码。

关系模型的实体完整性在CREATETABLE中用PRIMARYKEY定义。

定义主码的方法

分为定义为列级约束条件和定义为表级约束条件两种。

[4-1]定义表Student,并将其中的Sno属性定义为主码。

createtablestudent

(snochar(7)primarykey,

snamechar(8),

ssexchar

(2),

sagesmallint,

sdeptchar(20)

[4-2]定义表SC,将其中的属性Sno,Cno定义为主码。

对于多个属性构成的码,只能够将其定义为表级约束条件,而无法用列级约束条件来实现。

createtablesc

(snochar(9),

cnochar(4),

gradesmallint,

primarykey(sno,cno)

参照完整性。

定义表的外码。

关系模型的参照完整性是在CREATETABLE中用FOREIGNKEY语句来定义的,并用REFERENCES来指明外码参照的是哪些表的主码。

定义表SC,其中Sno参照表Student的主码Sno,Cno参照表Course的主码Cno。

createtablecourse

(cnointunique,

cnamechar(20)notnull,

tnoint,

creditint,

primarykey(cno,tno)

(snochar(7),

primarykey(cno,sno),

foreignkey(sno)referencesstudent(sno),

foreignkey(cno)referencescourse(cno)

3.用户定义完整性。

用户定义的属性上的约束条件。

[6-1]列值非空。

在定义SC表时,Sno、Cno和Grade属性都不允许取空值。

在不特别声明的情况下,非码属性的值是允许取空值的。

(snochar(9)notnull,

cnochar(4)notnull,

gradesmallintnotnull,

[6-2]列值唯一。

建立部门表DEPT,要求部门名称Dname取值唯一,部门编号Deptno属性为主码。

createtabledept

(dnamechar(10)unique,

deptnonumeric

(2)primarykey

[6-3]CHECK短语指定列值应该满足的条件。

定义表Student,属性Ssex的值只允许取“男”或“女”;

定义表SC,属性Grade的值定义在0-100之间。

(snochar(9)primarykey,

snamechar(8),

ssexchar

(2)check(ssexin(‘男’,‘女’)),

sagesmallint,

) 

gradesmallintcheck(grade>

=0andgrade<

=100),

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

当前位置:首页 > 高中教育 > 英语

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

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