MySql教程

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

本文主要是介绍运维高级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;
这篇关于运维高级mysql第六次作业:索引,视图的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!