写在前面:
如果大家需要深入了解视图和索引,这里推荐两篇blog:
(19条消息) MySQL视图_pan_junbiao的博客-CSDN博客_mysql 视图
(19条消息) 一文搞懂MySQL索引所有知识点(建议收藏)_敖 丙的博客-CSDN博客_mysql索引知识点
本篇只是MySQL的简单操作。
- 建立索引
1、使用CREATE INDEX和ALTER TABLE命令为Student表创建一个名为S_dept的普通索引,以系别排序。
起初我们往表格里存储数据的时候,数据的物理存储顺序就是按照我们最初输入数据时的操作顺序。但是有时候需要根据某些属性对表里的数据进行排序。
先看这张student表:
起初我向表中添加数据的顺序就是表现在呈现出来的顺序,这肯定不能满足用户的某些需要,比如说要按照学号进行排序呀~、学号进行排序呀~等等。由此便需要索引来完成。
命令如下:
如何查看索引?
2、使用ALTER TABLE命令为Student表创建一个名为S_name的普通索引,以姓名排序。
命令如下:
3、使用SHOW INDEX命令查看Student表的所有索引。
命令如下:
4、为Student表删除S_name索引。
命令如下:
删除表内数据一般使用delete;
删除表外数据一般使用drop;
查看有没有删掉?
分别使用CREATE UNIQUE INDEX 和ALTER TABLE命令为Student表创建一个名为S_name的唯一索引,以Sname排序。
unique index 唯一索引,属性值必须唯一,但是允许为空值。
命令如下:
使用ALTER TABLE
6、测试select查询花费时间。
SET @d=now();
SELECT * FROM Student;
SELECT timestampdiff(second,@d,now());
设置@d表示select操作查询之前的系统时间
进行select查询
计算操作运行时间:
二、视图的创建与使用
1、创建一个简单视图view1,查询“电子商务”学生的信息
如果我们单纯的使用查询语句的话,语句该怎么样写?
但是这个表只是给用户才cmd上呈现一下,但是如果用户还需要调用,还得使用这条语句命令,有些麻烦。所以得使用视图来“存储”这张表。
创建一个简单视图view2,统计每门课程的选课人数和最高分
命令如下:
查询都会查询:
创建视图:
创建一个复杂视图view3,查询与“张立”同学同一系别的学生信息
命令如下:
删除视图View3
命令如下:
如果视图不存在还要删除,那就会报错:
需要看看有没有视图