在MySQL进行定义操作
实验步骤及实验结果
第一题:
1. 先新建一个数据库
2. 在命令列介面打开数据库
3. 开始创建三个表student,sc,course
成功创建表student2,course2,sc2
第二题:
创建供应商-零件数据库以及表,表要求如下:
建立一个供应商、零件数据库。其中“供应商”表S(Sno,Sname,Status,City)分别表示:供应商代码、供应商名、供应商状态、供应商所在城市。“零件”表P(Pno,Pname,Color,Weight,City),表示零件号、零件名、颜色、重量及产地。
其中,数据库要满足如下要求:
(1)供应商代码不能为空,且值是唯一的,供应商的名也是唯一的。
(2)零件号不能为空,且值是唯一的。零件名不能为空
(3)一个供应商可以供应多个零件,而一个零件可以由多个供应商供应。
分析:根据题意供应商和零件分别要建立一个关系模式。供应商和零件之间是一个多对多的联系,在关系数据库中,多对多联系必须生成一个关系模式,而该模式的码是该联系两端实体的码加上联系的属性构成的,若该联系名为SP,那么关系模式为SP(Sno,Pno,Qty),其中Qty表示零件的数量。根据上述分析,用SQL建立一个供应商、零件数据库
1. 创建供应商表S
2. 创建零件表P
3. 创建表SP
成功创建表S,P,SP
第三题:
a) 修改student表中ssex列的位置在sdept后面
成功交换了ssex和sdept的位置
b) STUDENT表中SNO设为非空和唯一
c) STUDENT表中增加一个字段SBIRTH,类型设置为日期时间类型,放在sname列后面,增加一个ADDRESS字段,类型为文本(字符)
成功将sbirth添加到sname后面
成功添加address字段
d) 删除STUDENT表中ADDRESS字段
成功删除address字段
e) COURSE表中CNO字段设为非空和唯一
f) 修改student表中sbirth列名为birthday
成功将sbirth改为birthday
g) 修改student表中sage列的位置,修改在birthday后面
成功将sage列的位置,修改在birthday后面
h) 修改sname列名称为stuname
成功将sname改为stuname
第四题:
用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序索引
定义了一个降序索引stusna
第五题:
用SQL语言CREATE INDEX语句定义表SC的GRADE字段的升序索引
定义了一个升序索引scgrade
第六题:
用SQL语言DROP语句删除索引以及alter table … drop index语句删除索引
用drop index删除了索引scgrade用alter table…drop index删除了索引stusna
第七题:
用SQL语言DROP语句删除该表结构,注意主外键关系表删除顺序;
成功删除表S