游标,句柄,存储函数,触发器,索引

游标:

 相当于在声明语法哪里指定的表中创建一个游标,从第一行开始,每次查询结束后自动往下接着查询,然后再最后没有数据时就会报错从而结束,类似于指针的使用

label:loop
    fetch my_cursor into var_empno,var_ename,var_sal;
    select var_empno,var_ename,var_sal;
end loop label;

上方代码块便是取之于法的使用,利用游标自动指向下一行的特点,循环查询,最后会报错 

句柄: 

上面图片里指的是如果出现了not found的异常就把flag的值更改为0并且继续运行原本的程序然后就可以使用flag的值为0这个条件来处理异常了

undo指目前MySQL不支持而发省的异常

 

在报错时最前方的数字就是条件码

存储函数: 

实际步骤如下图所示

可能软件会拒绝创建这个函数,这时就需要这个来临时创建信任

set global log_bin_trust_function_creators=true; 

触发器: 

I,D,U分别为增加删除修改

new和old:

使用时可以concat('有新用户添加信息为:',new.uid,new.username,new.password);

 1.在mysql中不能对本表进行iud操作,以免递归循环触发

 2.尽量啥使用触发器,因为触发器如果过多会导致效率降低

 3.触发器针对每一行,在增删改频繁的表上不要使用触发器,因为它会很浪费资源

索引: 

其中主键索引会在创建主键时由系统自动添加                                                                            show index from 表名 查询一个表中的主键索引

 意思就是在表里面直接在目标列的前面加上index

在表外面就有两个方法挑选

唯一索引:

唯一索引的值必须唯一,但允许有空值

删除唯一索引与删除普通索引的方法是一样的

 组合索引:

在组合唯一索引中两列值可以有其中一列一样,但是两列不能完全一样

 注意这里的and也不能换成or

全文索引:

全文索引的关键字是fulltext

效果和like+%类似但是效率更高

全文索引中有两个变量,即为最小搜索长度和最大搜索长度,而索引目标长度必须在他们之间

shou variables like '%ft%';

可以查看那两个变量的默认值

create table 表名(
    id int primary key auto_increment,
    title varchar(255),
    content varchar(1000),
    writing date date --,
    fulltext (content) -- 创建全文约束
);

 

使用全文索引: 

 

 col1,col2指的是字段,即给那些列添加全文索引便是那些

后面的小括号里面便是搜索关键词

索引的特点:

索引的使用原则: 

1.更新频繁的列不应该使用索引

2.数据量少的表不用索引

3.重复数据多的字段不设索引

4.首先应该考虑对where和order by涉及的列上建立索引

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值