`
flyer2010
  • 浏览: 358824 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mysql-游标使用

 
阅读更多
mysql存储过程好几年没用了,最近看文档,就写了个小例子实践下,增强记忆。
例子主要实现的是从一张表更新记录到另外一张表去。
 CREATE TABLE `user_info` (              
             `user_id` int(11) default NULL,       
             `user_name` varchar(20) default NULL  
           ) ENGINE=InnoDB DEFAULT CHARSET=utf8    


 CREATE TABLE `tmp_user` (              
            `tmp_user_id` int(11) default NULL,  
            `tmp_name` varchar(20) default NULL  
          ) ENGINE=InnoDB DEFAULT CHARSET=utf8   


insert into `user_info` (`user_id`, `user_name`) values('20','aa');
insert into `user_info` (`user_id`, `user_name`) values('21','bb');
insert into `user_info` (`user_id`, `user_name`) values('22','cc');
insert into `user_info` (`user_id`, `user_name`) values('23','dd');

insert into `tmp_user` (`tmp_user_id`, `tmp_name`) values('20','');
insert into `tmp_user` (`tmp_user_id`, `tmp_name`) values('22','');
insert into `tmp_user` (`tmp_user_id`, `tmp_name`) values('23','');

下面创建存储过程
DELIMITER $$

DROP PROCEDURE IF EXISTS `test`.`pro_user`$$

CREATE DEFINER=`root`@`localhost` PROCEDURE `pro_user`()
BEGIN
	DECLARE total INT DEFAULT 0;
	DECLARE tmpCount INT DEFAULT 0;
	DECLARE userId INT DEFAULT 0;
	DECLARE userName varchar(50);

	DECLARE cur1 CURSOR FOR SELECT user_id,user_name FROM user_info;
	SELECT count(*) INTO total  FROM user_info;

	OPEN cur1;
	  REPEAT 
		FETCH cur1 INTO userId, userName;
		SET  tmpCount = tmpCount + 1; 
		UPDATE tmp_user set tmp_name=userName where tmp_user_id=userId;
	  UNTIL  tmpCount >=total END REPEAT;
		
	CLOSE cur1;
 select total ;

END$$
DELIMITER ;


调用CALL pro_user();
查看tmp_user,发现记录已经同步过去了。
分享到:
评论

相关推荐

    MySQL总结--游标理解

    个人看完视频总结的游标小结,如有差错请多指教

    MySQL-python-1.2.3.win32-py2.7 MySQL-python-1.2.3.win-amd64-py2.7

    1. **Python MySQL Connector**:MySQL-python,也称为MySQLdb,是Python中广泛使用的MySQL数据库适配器。它实现了Python DB-API 2.0规范,使得在Python中编写SQL查询和处理数据库结果变得简单。 2. **版本信息**:...

    Mysql游标(循环操作)

    ### MySQL游标(循环操作) #### 一、游标简介 在MySQL中,游标是一种数据库对象,主要用于处理存储过程中的结果集。游标允许我们逐行地读取查询结果,这对于需要对每一行数据执行特定操作的情况非常有用。通过...

    mysql-connector-java-8.0.23.jar

    同时,压缩包中的`mysql-connector-java-8.0.23.jar.txt`文件可能是关于驱动的使用指南、版本说明或授权信息,对于初学者来说,阅读这些文档有助于更好地理解和使用该驱动。 总的来说,MySQL Connector/J 8.0.23是...

    mysql5.x最新版本驱动 mysql-connector-java-5.1.47.rar

    `mysql-connector-java-5.1.47`属于Type 4,它使用纯Java实现,可以直接通过网络与MySQL服务器通信,无需依赖操作系统特定的库。 使用`mysql-connector-java-5.1.47`时,你需要在Java应用中添加对应的JAR文件到类...

    Mysql数据库游标的使用

    MySql存储过程,游标的使用方法,速度极快!

    mysql-python安装包

    在Python 3.x中,由于`mysql-python`库不再维护,推荐使用`pymysql`或`mysql-connector-python`作为替代。`pymysql`是社区维护的一个兼容`MySQLdb`的库,而`mysql-connector-python`是MySQL官方提供的Python驱动,...

    mysql-connector-j-8.0.31

    MySQL Connector/J还支持JDBC的高级特性,如批处理、存储过程、游标、多结果集等。此外,它还支持MySQL的特性,如SSL连接、分区表、复制和负载均衡。 总结来说,"mysql-connector-j-8.0.31"是Java开发者连接MySQL...

    mysql-connector-java-8.0.25.jar

    除了基本的连接和查询,MySQL Connector/J还支持预编译的SQL语句(PreparedStatement),事务处理,批处理,以及高级特性如存储过程和游标。此外,该驱动还提供了连接池功能,允许高效地重用数据库连接,提升应用...

    mysql-connector-java-5.1.38-jar

    在使用mysql-connector-java-5.1.38-jar时,开发者需要在项目中添加对应的依赖。对于Maven项目,可以在pom.xml文件中添加如下依赖: ```xml <groupId>mysql <artifactId>mysql-connector-java <version>5.1.38 ...

    mysql-connector-java-8.0.30连接器

    除了基本的连接和查询,MySQL Connector/J还支持事务管理、批处理操作、连接池管理和高级特性,如存储过程调用、游标和类型映射。对于更复杂的数据库操作,还可以使用JDBC的高级特性,如`CallableStatement`和`...

    mysql-connector-java-5.1.37-bin.zip

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而Java作为一种广泛使用的编程语言,经常被用来与MySQL进行数据交互。在Java中,连接MySQL数据库的关键是通过Java Database Connectivity (JDBC) API。`mysql-...

    MySQL-python-1.2.2.win32-py2.6

    值得注意的是,虽然MySQL-python适用于Python 2.x版本,但Python 2已不再维护,建议升级到Python 3,并使用更现代的库如`pymysql`或`mysql-connector-python`。这些库对Python 3有更好支持,并提供了更多的功能和...

    mysql-connector-java-8.0.26.rar

    通过深入学习这些知识点,你可以熟练掌握使用 Java 连接和操作 MySQL 数据库的方法,从而在实际项目中构建稳定、高效的数据库应用。记得始终关注官方文档和社区更新,以便获取最新的功能和安全改进。

    mysql-connector-python-2.1.7.tar.gz

    MySQL Connector/Python遵循Python的DBAPI(PEP 249)规范,这是一个Python数据库应用编程接口,使得不同数据库适配器有了一致的使用方式。它支持Python 2.x和3.x版本,并且提供了全面的功能,包括连接管理、事务...

    mysql-connector-java-8.0.20.jar

    此外,MySQL Connector/J 8.0.20还支持最新的JDBC 4.2规范,提供了更多高级特性,如服务器端游标、元数据查询增强、更好的错误处理机制等。对于Java后端开发来说,熟练掌握MySQL Connector/J的使用是必备技能,它...

    MySQL-python-1.2.3.win-amd64-py2.7

    这个可执行文件将负责安装所需的Python模块和依赖,使得Python环境能够识别并使用MySQL连接器。安装完成后,用户就可以在Python脚本中导入`MySQLdb`模块,开始编写与MySQL数据库交互的代码。 总的来说,MySQL-...

    mysql-connector-odbc-5.3.4-winx64

    MySQL Connector/ODBC 是 MySQL 数据库管理系统与应用程序之间的一个重要桥梁,它允许使用 ODBC(Open Database Connectivity)标准来连接到 MySQL 数据库。在本文中,我们将深入探讨这个组件,以及如何利用它来实现...

    mysql-connector-java-8.0.16-master.zip

    通过研究这些源代码,你可以了解 MySQL Connector/J 如何处理 TCP/IP 连接、SSL 加密、事务管理、批处理操作、游标管理和错误处理等。此外,源码还包含了丰富的单元测试,这些测试用例可以作为学习如何正确使用 API ...

Global site tag (gtag.js) - Google Analytics