运维高级mysql第六次作业:索引,视图

步骤1:创建学生表stu,插入3条记录。

CREATE TABLE stu

(

s_id INT PRIMARY KEY,

s_name VARCHAR(20),

addr VARCHAR(50),

tel VARCHAR(50)

);

INSERT INTO stu

VALUES(1,‘XiaoWang’,‘Henan’,‘0371-12345678’),

(2,‘XiaoLi’,‘Hebei’,‘13889072345’),

(3,‘XiaoTian’,‘Henan’,‘0371-12345670’);

步骤2:创建报名表sign,插入3条记录。

CREATE TABLE sign

(

s_id INT PRIMARY KEY,

s_name VARCHAR(20),

s_sch VARCHAR(50),

s_sign_sch VARCHAR(50)

);

INSERT INTO sign

VALUES(1,‘XiaoWang’,‘Middle School1’,‘Peking University’),

(2,‘XiaoLi’,‘Middle School2’,‘Tsinghua University’),

(3,‘XiaoTian’,‘Middle School3’,‘Tsinghua University’);

步骤3:创建成绩表stu_mark,插入3条记录。

CREATE TABLE stu_mark (s_id INT PRIMARY KEY ,s_name VARCHAR(20) ,mark int );

INSERT INTO stu_mark VALUES(1,‘XiaoWang’,80),(2,‘XiaoLi’,71),(3,‘XiaoTian’,70);

步骤4:创建考上Peking University的学生的视图

create view Peking_stu(学号,姓名,成绩,大学) as
select a.s_id,a.s_name,mark,s_sign_sch from sign a ,stu_mark b  
where s_sign_sch='Peking University'and a.s_id=b.s_id 

在这里插入图片描述

步骤5:创建考上Tsinghua University的学生的视图

create view Tsing_stu(学号,姓名,成绩,大学) 
as select a.s_id,a.s_name,mark,s_sign_sch from sign a ,stu_mark b  
where s_sign_sch='Tsinghua University' and a.s_id=b.s_id ;

在这里插入图片描述

步骤6:XiaoTian的成绩在录入的时候录入错误多录了50分,对其录入成绩进行更正。

update stu_mark set mark=mark-50
where stu_mark.s_name='XiaoTian';

在这里插入图片描述

步骤7:查看更新过后视图和表的情况。
在这里插入图片描述

步骤8:查看视图的创建信息。
在这里插入图片描述

步骤9:删除创建的视图。

drop view Peking_stu
drop view Tsing_stu

索引
writers表结构

字段名 数据类型 主键 外键 非空 唯一 自增

w_id SMALLINT(11) 是 否 是 是 是

w_name VARCHAR(255) 否 否 是 否 否

w_address VARCHAR(255) 否 否 否 否 否

w_age CHAR(2) 否 否 是 否 否

w_note VARCHAR(255) 否 否 否 否 否

(1)在数据库里创建表writers,存储引擎为MyISAM,创建表的同时在w_id字段上添加名称为UniqIdx的唯一索引

create table writers(
w_id smallint(11) primary key not null auto_increment,
w_name varchar(255) not null ,
w_address varchar(255) ,
w_age char(2) not null,
w_note varchar(255),
unique index UniqIdx(w_id)
)engine=MyIsAM;

(2)使用alter table语句在w_name字段上建立nameIdx的普通索引

ALTER TABLE writers add Index  nameIdx(w_name);

(3)使用CREATE INDEX 语句在w_address和w_age字段上面建立名称为MultiIdx的组合索引

CREATE INDEX MultiIdx on writers(w_address,w_age);

(4)使用create index语句在w_note字段上建立名称为FTIdex的全文索引

CREATE FULLTEXT INDEX FTIdex on writers(w_note);

(5)删除名为FTIdx的全文索引

DROP INDEX FTIdex on writers;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值