数据库视图

视图
  视图只保存了查询的SQL逻辑,不保存查询结果。
  #1.创建视图
  CREATE [OR REPLACE] VIEW 视图名称[(列名列表)] AS SELECT语句 [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
  #2.查看创建视图语句:
   SHOW CREATE VIEW 视图名称; 
  #3.查看视图数据:
  SELECT * FROM 视图名称 ...... ;
  #4.修改视图
  ALTER VIEW 视图名称[(列名列表)] AS SELECT语句 [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]
  #5.删除视图
  DROP VIEW [IF EXISTS] 视图名称 [,视图名称] ...

  检查选项:
  **CASCADED 级联**
  v2视图是基于v1视图的,如果在v2视图创建的时候指定了检查选项为 cascaded,
  但是v1视图创建时未指定检查选项。 则在执行检查时,**不仅会检查v2,还会级联检查v2的关联视图v1**。
  **LOCAL 本地**。
  比如,v2视图是基于v1视图的,如果在v2视图创建的时候指定了检查选项为 local ,
  但是v1视图创建时未指定检查选项。 则在执行检查时,知会检查v2,不会检查v2的关联视图v1。

*存储过程
 存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合。

 优点:
 -  封装,复用 -----------------------> 可以把某一业务SQL封装在存储过程中,需要用到的时候直接调用即可。
 -  可以接收参数,也可以返回数据 --------> 再存储过程中,可以传递参数,也可以接收返回值。
 -  减少网络交互,效率提升 -------------> 如果涉及到多条SQL,每执行一次都是一次网络传输。 而如果封装在存储过程中,我们只需要网络交互一次可能就可以了
  
  -- 创建  
  DELIMITER $$
  CREATE PROCEDURE 存储过程名称 ([ IN/OUT/INOUT 参数名 参数类型 ]) 
  BEGIN
    -- SQL语句 
  END ;
  DELIMITER ;
  
  -- 调用存储过程
  CALL 存储过程名称(参数)

  --查看存储过程
  show create procedure 存储过程名称;

  --删除存储过程
  drop procedure if exists 存储过程名称;

*索引(Index)
  索引(index)是帮助MySQL**高效获取数据的数据结构**(有序)

  --1.创建索引
  CREATE [ UNIQUE | FULLTEXT ] INDEX 索引名称 ON 表名 (索引列名称列表) ;

  --2.查看索引
  SHOW INDEX FROM 表名 ;

  --3.删除所有
  DROP INDEX 索引名称 ON 表名 ;

  

你可能感兴趣的:(数据库)