mysql篇Day5完结篇
知识点讲解:
1、视图:view
(1) 虚拟表。和普通表一样使用
(2) 作用:
① 视图存储在数据库中的查询语句。主要作用:安全原因、可以使复杂的查询语句容易理解与使用
(3) 创建或修改视图:view
create or replace view 视图名
as
查询语句
注意:建议视图名 以 v_ 开头
(4) 查询视图
① Select 查询列表 from 视图名称 【where 筛选条件】
(5) 案例
(6) 注意:当修改源表之后,视图中查询到的数据也会改变
(7) 如何删除视图:
① DROP view 视图名1,视图名2,…
(8) 查看视图结构
① Desc 视图名
② SHOW CREATE VIEW 视图名
③
(9) 视图更改
① 修改视图内容
update v_ename_dname set ename=‘JAMES’ WHERE empno=7900
真实修改的是 原表:emp表
② 插入:
Insert into
a. 测试成功:当个表映射的视图,是可以进行插入的,真正插入到的是原表中
多表查询的 视图,下来自己测试!!!
③ 删除数据
Delete from 视图名 【where 筛选条件】
2、函数: function
(1) 概念
① 一组预先编译好的sql具有集合,理解为批量处理语句
(2) 作用:
① 提供代码的重用性
② 简化操作
③ 减少编译次数,提供数据库的执行效率
(3) 函数必须有一个返回值
(4) 创建语法:
Create function 函数名(参数列表) returns 返回类型
Begin
函数体
End
备注:1、参数列表=》参数名 参数类型
2、函数体中:必须有return
(5) 函数调用
① select 函数名(参数列表);
(6) 函数删除
① drop function 函数名(参数)
(7) 案例的操作:(无参)
(8) 案例有参:(注意:字符串需要定义长度,参数名称尽量不免与列名相同)
或者
3、存储过程
(1) 存储过程与函数类似
(2) 含义
① 一组预先编译好的SQL语句集合
(3) 作用
① 提供代码的重用性
② 简化操作
(4) 存储过程的语法
create procedure 名称(参数列表)
Begin
存储过程执行体
End
注意:存储过程名称,命名建议:p_
(5) 参数列表解读:
① 参数列表组成
参数模式 参数名 参数类型
② 参数模式:
IN :表示该参数可以作为输入值
OUT:表示该参数可以作为输出值
INOUT:该参数既可以作为输入也可以作为输出
(6) 执行存储过程
① Call 存储过程名(参数);
(7) 案例:无参
(8) 案例:有参=》输入参数 IN
(9) 案例:有参=》输入参数IN 输出参数:OUT
(10) 案例:参数=》IN OUT INOUT
① 模拟登陆的 功能:输入用户名、密码,将登录的结果返回
(11) 存储过程的删除
① Drop procedure 存储过程的名称;
4、索引:index
(1) 什么是索引?
① 索引就相当于一本书的目录,可以通过目录快速的找到对应的资源
(2) 数据库中查询表中数据的方式:
① 第一种方式:全表扫描
② 第二种方式:根据索引进行扫描(效率高)
(3) 索引不建议在数据库中大量使用,因为索引在数据库中也是对象的形式进行存储,需要数据库对其进行维护,维护过程中会消耗数据库的性能
(4) 索引创建形式:
① create index 索引名称 on 表名(字段,…)
② 索引名称:表名_字段名_index
(5) 查看sql语句的执行计划
① explain sql 语句
(6) Type:
① All :全表扫描
② Ref: 表示索引查找
(7) 案例:
(8) 索引原理
(9) 索引底层主要采用的数据结构:B+tree
(10) 索引的种类:
① 单一索引
② 复合索引
③ 主键索引
④ 唯一索引
⑤ …
(11) 索引失效
① Select * from emp where ename like ‘%a%’
② 模糊查询是,第一个通配符使用的是%,这个时候索引是失效的