返回顶部
首页 > 资讯 > 数据库 >MySQL系列(七)索引和视图
  • 279
分享到

MySQL系列(七)索引和视图

mysql数据库java 2023-12-22 22:12:35 279人浏览 八月长安
摘要

(1)索引的创建于管理 ① 为student表的phone列上建立一个降序普通索引phone_idx,并输出student表中的记录,注意观察phone字段上的顺序; create index phone_idx on student(p

(1)索引的创建于管理
① 为student表的phone列上建立一个降序普通索引phone_idx,并输出student表中的记录,注意观察phone字段上的顺序;

create index  phone_idx on student(phone desc); select * from info1.student order by phone desc;

在这里插入图片描述

② 在course表的cname列上建立一个唯一性索引cname_idx,并输出course表中的记录,注意观察cname字段上的顺序;

create unique index cname_idx on course(cname);select * from info1.course;

在这里插入图片描述

③ 在score表的studentno和courseno列上建立一个复合索引stu_cour_idx,并输出score表中的记录,注意观察结果集的顺序;

create index stu_cour_idx on score(studentno,courseno);select * from info1.score;

在这里插入图片描述

④ 在teacher表上建立teacherno主键索引,建立tname和prof的复合索引;

alter table teacher add primary key(teacherno),add index mark(tname,prof);

在这里插入图片描述

⑤ 利用drop语句删除teacher表上mark索引;

drop index mark on teacher;

在这里插入图片描述

⑥ 利用alter table语句删除cname_idx索引;

alter table course drop index cname_idx;

在这里插入图片描述

(2)利用Mysql Workbench创建索引。
① 进入修改表student界面
② 打开index选项卡,在Index Name的文本框中输入索引名称un_phone,右侧的Index Column会自动显示表student中的所有列名,选择phone列。
③ 存储类型选择BTREE,选择索引类型unique,表示创建唯一性索引,其他参数采用默认值。
④ 设置完成后,单击Apply按钮,出现脚本对话框。
⑤ 单击Apply按钮,进入完成对话框,单击Finish按钮,即可完成在数据库teaching中student表上的唯一性索引un_phone的创建。
⑥ 也可以在此界面中实现索引的修改和删除。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(3)创建和管理视图。
① 在teacher表上创建一个简单的视图,视图名称为v_teacher;

create view v_teacher as select * from teacher;select * from v_teacher;

在这里插入图片描述

② 在student表、course表和score表上创建一个名为stu_score的视图。视图中保留19级女生的学号,姓名,性别,电话,课程名,期末成绩;

create view stu_score as select student.studentno,sname,sex,phone,cname,final from score join student on student.studentno = score.studentno join course on course.courseno = score.coursenowhere sex = '女' and left(student.studentno,2) = '19';select * from stu_score;

在这里插入图片描述

③ 创建视图v_teach,统计材料学院的教师中不是教授或副教授的教师号、教师名和专业;

create view v_teachas select teacherno,tname,major from teacherwhere prof not like '%教授' and department = '材料学院';select * from v_teach;

在这里插入图片描述

④ 查看视图定义的情况;

show create view stu_score;

在这里插入图片描述

⑤ 修改视图v_teach,统计材料学院的教师中的教授和副教授的教师号,教师名和专业,并在视图名后面指明视图列名称;

alter view v_teach(教师号,教师名,专业)as select teacherno,tname,major from teacherwhere prof like '%教授' and department = '材料学院';select * from v_teach;

在这里插入图片描述

⑥ 删除视图v_teach的命令;

drop view v_teach;

在这里插入图片描述

(4)利用视图修改数据
① 创建视图view_avg,查询每个学生的学号,姓名及平均分,并且按照平均分降序排序;

create view view_avgas select student.studentno,sname,avg(final)from score join student on score.studentno = student.studentno group by sname order by avg(final) desc;select * from  view_avg;

在这里插入图片描述

② 通过视图v_teacher,对基表teacher进行插入,更新和删除数据(插入、更新、删除的数据集自拟),观察teacher表上数据的变化情况;

insert into v_teacher (teacherno,tname,major,prof,department)values ('t07011','康哲彦','人文基础','讲师','文学与传媒学院'),('t07033','郭华荣','新闻学','教授','文学与传媒学院');SELECT * FROM info1.teacher;

在这里插入图片描述

③ 视图stu_score依赖于源表student、course和score三张表,包括studentno、sname、phone、cname、final五个字段,通过视图stu_score修改基本表student中的学号为19112100072的电话号码为‘15011112222’;

update stu_score set phone = '15011112222'where studentno ='19112100072';

在这里插入图片描述

④ 修改v_teacher的视图定义,添加with check option选项;

alter view v_teacheras select * from teacherwhere department = '计算机学院' with check option;

在这里插入图片描述

来源地址:https://blog.csdn.net/weixin_53850894/article/details/130621720

您可能感兴趣的文档:

--结束END--

本文标题: MySQL系列(七)索引和视图

本文链接: https://lsjlt.com/news/551533.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL系列(七)索引和视图
    (1)索引的创建于管理 ① 为student表的phone列上建立一个降序普通索引phone_idx,并输出student表中的记录,注意观察phone字段上的顺序; create index phone_idx on student(p...
    99+
    2023-12-22
    mysql 数据库 java
  • 视图、序列、索引
    使用视图的两种情况: 使用的查询基于非常复杂的查询之上。 查询的时候希望屏蔽数据库中真实的字段名和数据 CREATE [OR REPLAC] VIEW view_name[(alias[, a...
    99+
    2019-10-04
    视图 序列 索引
  • Mysql 视图、索引
    一、视图:1、视图的定义:视图是物理表的映射结果,物理表变化,视图肯定变化。 create view v_name as select 列名(也可以是函数计算出来的结果如 avg()) from ...
    99+
    2024-04-02
  • mysql基础(九) 索引和视图
    索引:是一种按照特定存储格式存储的特殊数据,用于SQL查询 索引的类型:     聚集索引和非聚集索引:数据是否和索引存储在一起   主键索引和辅...
    99+
    2024-04-02
  • MySQL视图和索引专篇精讲
    目录视图View代码实现:索引index建立索引删除索引数据库版本:mysql8。0.27 如果以下代码执行有问题欢迎一起探讨 视图View 什么是视图? 视图是一个虚拟表,是sql...
    99+
    2024-04-02
  • MySQL系列之七 MySQL存储引擎
    一、MyISAM存储引擎 缺点: 不支持事务 最小粒度锁:表级 读写相互阻塞,写入不能读,读时不能写 不支持MVCC(支持多版本并发控制机制) ...
    99+
    2024-04-02
  • SQLServer索引和视图详解
    目录索引1、 什么是索引2、 索引分类聚集索引非聚集索引其他类型索引3、 创建索引4、 适合的创建索引的列5、 不适合创建索引的列视图1、 什么是视图2、 创建视图准则3、 创建视图...
    99+
    2024-04-02
  • 索引系列七--索引特性之高度较低是优化利器
    sqlplus ljb/ljbdrop table t1 purge;drop table t2 purge;drop table t3 purge;drop table t4 purge;dro...
    99+
    2024-04-02
  • 详解MySQL单列索引和联合索引
    目录一、简介二、单列索引三、最左前缀原则四、同时存在联合索引和单列索引(字段有重复)五、联合索引本质六、索引失效七、其它知识点八、mysql存储引擎简介九、索引结构(方法、算法)一、简介 利用索引中的附加列,可以缩小搜索...
    99+
    2024-04-02
  • mysql视图能不能创建索引
    这篇文章主要介绍“mysql视图能不能创建索引”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql视图能不能创建索引”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • MySQL的视图和索引用法与区别详解
    MySQL的视图 简单来说MySQL的视图就是对SELECT 命令的定义的一个快捷键,我们查询时会用到非常复杂的SELECT语句,而这个语句我们以后还会经常用到,我们可以经这个语句生产视图。视图是一个虚拟的表...
    99+
    2022-05-11
    MySQL 视图 MySQL 索引 视图和索引
  • MySQL中单列索引和多列索引的示例分析
    这篇文章主要为大家展示了“MySQL中单列索引和多列索引的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL中单列索引和多列索引的示例分析”这篇文...
    99+
    2024-04-02
  • MySQL单列索引和联合索引的用法
    本篇内容主要讲解“MySQL单列索引和联合索引的用法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL单列索引和联合索引的用法”吧!本文通过一个案例,介绍...
    99+
    2024-04-02
  • MySQL单列索引和组合索引的区别
    这篇文章主要讲解了“MySQL单列索引和组合索引的区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL单列索引和组合索引的区别”吧!  MySQL单...
    99+
    2024-04-02
  • Oracle学习(五) --- 视图、序列、同义词、索引
    1、视图 1.1、什么是视图 视图就是一个虚拟表,实体表的映射。 什么时候使用视图 在开发中,有一些表结构是不希望过多的人去接触,就把实体表映射为一个视图。(表结构简化) 在项目过程中,程序员主要关注编码的性能、业务分析这方面。对...
    99+
    2019-06-02
    Oracle学习(五) --- 视图 序列 同义词 索引
  • mysql系列(七)——慢查询
    一、...
    99+
    2021-02-03
    mysql系列(七)——慢查询
  • 【Mongodb】视图 && 索引
    Mongodb视图可以让查询数据变的更加方便,索引让查询数据变得更加快捷,本文介绍如何使用Mongodb的视图功能和索引功能   准备工作 准备2个集合的数据,后面视图和索引都会用到1个订单集合,一个...
    99+
    2015-01-17
    【Mongodb】视图 && 索引
  • 序列、视图、索引(面试看这个就GO了)
    oracle内置对象序列、视图、索引 序列create sequence aaa start with 1;  使用 视图 创建好之后然后直接用 ...
    99+
    2024-04-02
  • MySQL事务视图索引备份和恢复概念介绍
    目录一、事务二、事务的特性三、mysql事务处理四、视图五、管理视图六、索引七、常见索引类型八、管理索引九,创建索引的指导原则十,优化SQL语句的意识一、事务 事务(TRANSACTION)是一种机制、一个操作序列,包含...
    99+
    2024-04-02
  • Oracle系列:(25)索引
    什么是索引【Index】(1)是一种快速查询表中内容的机制,类似于新华字典的目录(2)运用在表中某个/些字段上,但存储时,独立于表之外为什么要用索引(1)通过指针加速Oracle服务器的查询速度(2)通过r...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作