一、什么是索引?
索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
1 直接创建索引
CREATE INDEX index_name ON student(studentname);
2.修改表结构的方式添加索引
ALTER TABLE table_name ADD INDEX index_name ON (column_name)
3. 删除索引
DROP INDEX index_name ON student;
二、什么视图?
视图是一种虚拟的表,是从数据库中一个或者多个表中导出来的表。数据库中只存放了视图的定义,而并没有存放视图中的数据,这些数据存放在原来的表中。使用视图查询数据时,数据库系统会从原来的表中取出对应的数据
1、视图的作用:
(1)使操作简便化;
(2)增加数据的安全性;
(3)提高表的逻辑独立性;数据库系统会从原来的表中取出对应的数据。
2.创建视图
CREATE VIEW v_student AS(SELECT studentno,studentname,email FROM student);
创建复合视图
CREATE VIEW v_teacher AS(SELECT s.studentname,s.studentno,s.address,r.studentresult
FROM student s INNER JOIN result r
ON s.studentno=r.studentno);
创建嵌套视图
CREATE VIEW v_xw AS(SELECT studentno,studentresult FROM v_teacher);
3.查看视图
SELECT * FROM 创建视图的名字;
4.删除视图 删除视图是指删除数据库中已存在的视图。删除视图时,只能删除视图的定义,不会删除数据;
DROP VIEW [ IF EXISTS ] 视图名列表[ RESTRICT | CASCADE ]
DROP VIEW IF EXISTS v4;