索引 视图 存储过程和函数 ———— mysql

                                                                                        索引  视图  存储过程  函数


索引:定义:加快select查询的最快途径。

           分类:Btree索引和Hash索引

           支持:前缀索引,全文索引,空间列类型索引。Btree(MyISAM)Hash(MEMORY)。

           创建:create index __ on __()  ;

           删除:drop index __ on __ ;

           Btree 和 Hash区别:Btree用来可以检索范围内的值,Hash用来精确查找。

           索引:primary key , unique , index , fulltext 。


视图:定义:视图是虚拟的表,用来提高真实表的安全性的。解耦。

           创建:create or replace view __ as __ with cascaded/local check option ;

           修改:alter view __ as __ with cascaded/local check option ; 

           删除:drop view if exists __ ; 

           查看:show tables ; show tables status like __ \G ; show create view __ \G ;

           local 和 cascaded :local两个表只要满足本视图的条件就可以更改,必须满足针对改视图的所有视图才能更改


存储过程和函数:

           定义:是事先经过编译并存储在数据库中的一段sql语句的集合,用来减少数据库和应用服务器之间的传输。

           创建:create procedure __ ;

                      create function __ returns __;

           具体实现:DELIMITER $$

                             create procedure __ (IN __  int,IN __ int ,OUT __ int)

                             begin

                             __ ;

                             end $$

                             DELIMITER ;

             调用:CALL __();

             删除:drop procedure if exists __ ;

             查看:show procedure status like __ \G ;show create procedure __ ;

             内部定义变量:declare __ __ ;

             变量赋值: set __ = __ ; 

             定义条件和处理:declare continue handler for sqlstare '23000' set @x1=2  ;

             光标:在存储过程里面可以用光标进行结果集的循环处理,

                   声明:declare __ cursor for __ ;

                   open:open __ ;

                   fetch:fetch __ ;

                   close:close __ ;

             流程控制:

                   if:        if __ then __ elseif __ then __ else __  end if ;

                   case:  case __ when __ then __when __ then __else __ end case ;

                   loop:   __:loop __ end loop__ ;    (leave __ 代表退出loop循环,相当于java中的break)。  

                   iterate:iterate代表跳过本次循环,相当于java中的continue ;

                   repeat:    __:repeat __ until __ end repeat __ ;

                   while:    __:while __ do __ end while __ ;

              事件调度器:相当于时间周期触发器的某种操作。

                         语法:create event __ on schedule __ do__;

                         删除:drop event __ ;

























你可能感兴趣的:(索引 视图 存储过程和函数 ———— mysql)