mysql游标实例演示
2016-07-15 11:41
477 查看
刚接触mysql游标的朋友们可能一时半会儿无法理解mysql游标是什么,游标怎么用,这边拿了一个简单的mysql游标实例来演示给大家,或许大家看了就能马上理解什么是游标,一般什么情况下使用游标.
这篇文章我3年前在百度博客上发表的,很基础,不过确实比较好理解,百度博客已经不维护了。拿来这边和ttlsa的网友们分享一下.文章入门,大神可以跳过.
整体感觉游标用得相对来说比较少,平时也感觉不出它有什么作用,现在也是朦朦胧的概念吧。谈谈我对他的理解吧。游标其实就是一个数据集合。我们把我们查询 出来的所有数据放到一个集合内,这个集合就叫做游标。而我们读取其中的内容时,仅仅只能一条挨着一条往下读或者往前读。不能跳这读。所有的数据集都读取到 一个游标内,我们可以对他们中间的每一条数据做不同的操作,暂时仅仅而已。读完之后我们需要关闭游标,释放内存空间。以下是一个例子:
begin
DECLARE o varchar(128);
DECLARE no int;
DECLARE cur_1 CURSOR FOR SELECT id FROM test; #把select出来的数据全部保存到游标cur_1中
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no=1; #当读到数据的最后一条时,设置no变量为1
SET no=0; #初始化变量no为0
OPEN cur_1; #打开游标
while no=0 do #判断是不是到了最后一条数据
fetch cur_1 into o; #读取游标中的数据一一复给变量o。
update test set username='1988' where id=o;#这个不用解释了吧
end while;
close cur_1;#最后关闭游标.游标里面存放了那么多数据总是要清理掉的吧。
end
个人感觉我的这个例子无法体现出游标的作用,但是大家不凡通过这个例子来看看游标的一些语法。
转自:http://www.ttlsa.com/html/3014.html
这篇文章我3年前在百度博客上发表的,很基础,不过确实比较好理解,百度博客已经不维护了。拿来这边和ttlsa的网友们分享一下.文章入门,大神可以跳过.
整体感觉游标用得相对来说比较少,平时也感觉不出它有什么作用,现在也是朦朦胧的概念吧。谈谈我对他的理解吧。游标其实就是一个数据集合。我们把我们查询 出来的所有数据放到一个集合内,这个集合就叫做游标。而我们读取其中的内容时,仅仅只能一条挨着一条往下读或者往前读。不能跳这读。所有的数据集都读取到 一个游标内,我们可以对他们中间的每一条数据做不同的操作,暂时仅仅而已。读完之后我们需要关闭游标,释放内存空间。以下是一个例子:
begin
DECLARE o varchar(128);
DECLARE no int;
DECLARE cur_1 CURSOR FOR SELECT id FROM test; #把select出来的数据全部保存到游标cur_1中
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no=1; #当读到数据的最后一条时,设置no变量为1
SET no=0; #初始化变量no为0
OPEN cur_1; #打开游标
while no=0 do #判断是不是到了最后一条数据
fetch cur_1 into o; #读取游标中的数据一一复给变量o。
update test set username='1988' where id=o;#这个不用解释了吧
end while;
close cur_1;#最后关闭游标.游标里面存放了那么多数据总是要清理掉的吧。
end
1 2 3 4 5 6 7 8 9 10 11 12 13 | begin DECLARE o varchar(128); DECLARE no int; DECLARE cur_1 CURSOR FOR SELECT id FROM test; #把select出来的数据全部保存到游标cur_1中 DECLARE CONTINUE HANDLER FOR NOT FOUND SET no=1; #当读到数据的最后一条时,设置no变量为1 SET no=0; #初始化变量no为0 OPEN cur_1; #打开游标 while no=0 do #判断是不是到了最后一条数据 fetch cur_1 into o; #读取游标中的数据一一复给变量o。 update test set username='1988' where id=o;#这个不用解释了吧 end while; close cur_1;#最后关闭游标.游标里面存放了那么多数据总是要清理掉的吧。 end |
转自:http://www.ttlsa.com/html/3014.html
相关文章推荐
- 从MySQL中态读取、添加CAD文件
- mysql 行转列,套路版
- Mysql中新建用户及授权的方法分享
- Mac 修改MYSQL 的默认编码格式 解决中文插入MySql里乱码
- 浅谈 MySQL 的存储引擎(表类型)
- Mysql新建用户和数据库并授权
- pypy的virtualenv安装mysql的问题解决
- mysql如何在一个表中插入数据的同时,更新另一个表的数据?
- 修改MySQL用户的权限
- 安装MySQL示例数据库sakila
- MySQL添加数据库的唯一索引的几种方式~
- MySQL数据库迁移data文件夹位置
- 如何导出和导入mysql数据(数据迁移)
- 获取mysql表插入数据自增字段的值
- Win7_64位使用Mysql Odbc
- MYSQL搜索引擎
- MySQL压缩版安装配置遇到的问题及解决办法
- mysql 查看binlog日志
- mysql的备份
- MYSQL学习笔记