mysql 入门基础(5)—存储过程和游标

定义:存储过程是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。

优点:

         1.存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据  库执行速度。
         2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时),可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。
         3.存储过程可以重复使用,可减少数据库开发人员的工作量
         4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权

缺点:移植性很低,因为不同的数据库,语法不一样

Ø  创建第一个存储过程

使用call命令调用我们的存储过程

navicat编辑器里把delimiter隐藏了,所以不写结束标记符!

最后也可以删除存储过程

Ø  参数

输入参数:in  |  输出参数:out  |  输入输出参数:inout

# in输入参数

# out输出参数

Mysql全局变量:

              查看所有全局变量:show variables

              查看某个全局变量:select @@变量名

              修改全局变量:set变量名=值

       了解:

              character_set_client:指定mysql服务器接受数据的编码默认utf-8

              character_set_results:指定mysql服务器输出数据的编码默认utf-8     

              之前输出数据库的utf-8格式数据乱码可以改变控制台的编码格式默认是gbk,换成utf-8应该就可以,具体做法:

              http://blog.csdn.net/freedom2028/article/details/16632215,当然还可把character_set_client和character_set_results值换成gbk;

Mysql会话变量:只存在于当前客户端与数据库服务器的一次连接中。断开后会话变量会自动消失。

       定义会话变量:set@变量=值

       查看会话变量:select@变量

      

Mysql局部变量:在存储过程中使用的变量,作用范围只在存储过程中,如果存储过程执行完毕,局部变量就丢失。

# inout输入输出参数

# 带有判断添加的存储过程

# 带有循环功能的存储过程

# 使用查询结果作为返回值

         

Ø  游标的使用

游标简单来说就是查询出来的数据索引,通过对游标的操作(第一个位置、最后一个位置、上一个位置、下一个位置)可以遍历出数据。结合这个特性我们可以批量的更新,插入,删除数据等操作。

    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值