`

mysql cursor使用

 
阅读更多
一,什么是游标(cursor)
个人觉得就是一个cursor,就是一个标识,用来标识数据去到什么地方了。你也可以把它理解成数组中的下标。

二,游标(cursor)的特性
1,只读的,不能更新的。
2,不滚动的
3,不敏感的,不敏感意为服务器可以或不可以复制它的结果
游标(cursor)必须在声明处理程序之前被声明,并且变量和条件必须在声明游标或处理程序之前被声明。

三,使用游标(cursor)
1.声明游标
DECLARE cursor_name CURSOR FOR select_statement

这个语句声明一个游标。也可以在子程序中定义多个游标,但是一个块中的每一个游标必须有唯一的名字。声明游标后也是单条操作的,但是不能用SELECT语句不能有INTO子句。
2. 游标OPEN语句
OPEN cursor_name ;

这个语句打开先前声明的游标。
3. 游标FETCH语句
FETCH cursor_name INTO var_name [, var_name] ...

这个语句用指定的打开游标读取下一行(如果有下一行的话),并且前进游标指针。
4. 游标CLOSE语句
CLOSE cursor_name ;

这个语句关闭先前打开的游标。

四,应用举例

drop procedure if exists test_cursor ;
-- delimiter表示以//结束编译
delimiter //

create procedure getResultFromTest(out result varchar(128))  
  begin
     -- 游标所使用变量需要在定义游标之前申明
     declare id int(11);
     declare name varchar(20);
     -- 遍历数据结束标志 注意位置顺序
     DECLARE done INT DEFAULT FALSE;
     -- 注意用别名 因为id在上面已经有定义所以需要使用表的别名区别
     declare cur_test CURSOR for select t.id,t.name from test t;
     -- 将结束标志绑定到游标 
     DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
     open cur_test;
          repeat
             fetch cur_test into id, name;
	     select id ;
	     -- concat_ws函数用逗号后面的参数隔开 concat_ws(',','12','33','332') --> 12,33,332
             select concat_ws(',',result,id,name) into result ;
          until done
	  end repeat;
--注意关闭游标
      close cur_test;  
      
      select result ;
 end;
 //
 delimiter ;


调用时因为是out类型的参数所以需要变量来取值:

mysql>set @id = ''; --需要赋值 否则报错
mysql>call getResultFromTest(@id);  

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    带你彻底搞懂python操作mysql数据库(cursor游标讲解)

    Python操作MySQL数据库时,cursor(游标)是一个关键概念,它是数据库操作的核心工具。游标允许我们逐条处理查询结果,而不仅仅是一次性获取所有数据。游标的使用提供了更灵活的数据处理方式。 1. 什么是游标? ...

    mysql安装包及教程

    MySQL是一种广泛使用的开源关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)。在本教程中,我们将深入探讨MySQL的安装过程,并提供在Windows 7, 8, 10操作系统上的安装步骤。此外,我们还将讨论MySQL的...

    MySql游标的使用实例

    在MySQL中,创建游标需要使用`DECLARE`语句,语法如下: ``` DECLARE cursor_name CURSOR FOR select_statement; ``` 例如: ``` DECLARE calc_bonus CURSOR FOR SELECT id, salary, commission FROM employees; ```...

    python 操作mysql 安装和使用

    本教程将详细介绍如何在Python环境中安装并使用MySQL。 首先,我们需要安装Python连接MySQL的库。最常用的是`pymysql`库,它是Python连接MySQL的纯Python实现。你可以通过pip来安装它: ```bash pip install ...

    mysql中游标的使用案例详解(学习笔记)

    ### MySQL中游标的使用案例详解 #### 一、游标概念 在MySQL中,游标是一种重要的机制,它允许用户逐步处理查询结果集中的每一行数据。游标提供了一种方式来迭代处理查询结果,这对于需要逐行访问数据的情况特别有用...

    服务器:在树莓派上安装MySQL数据库和简单使用方法 过程详细

    以下将详细讲解这个过程,包括安装、配置、使用MySQL的基本步骤。 首先,确保你的树莓派运行的是最新版本的Raspberry Pi OS。更新系统可以使用以下命令: ```bash sudo apt update sudo apt upgrade ``` 接着,...

    根据excel数据批量新增或更新mysql的表

    本文将详细介绍如何使用Python编程语言结合Excel文件,批量新增或更新MySQL数据库中的数据。标题所指的"根据excel数据批量新增或更新mysql的表"是一个常见的需求,特别是在数据分析、数据导入导出或者自动化报表生成...

    mysql-python安装包

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

    python使用mysql数据库时需要安装的开源mysql连接工具,64位的

    其中,MySQLdb是Python中一个广泛使用的开源MySQL连接工具,尤其适合于Python 2.x版本。它提供了Python编程语言与MySQL数据库之间的接口,使得Python开发者能够方便地在应用程序中操作MySQL。 MySQLdb是Python的...

    python 链接mysql 数据库驱动

    Python是一种广泛使用的编程语言,尤其在数据处理和Web开发领域,而MySQL则是一款流行的开源关系型数据库管理系统。当需要在Python程序中与MySQL数据库进行交互时,就需要一个数据库驱动程序来建立连接。本主题将...

    python连接mysql插件

    Python是一种广泛使用的编程语言,尤其在数据处理和Web开发领域,而MySQL则是一款流行的开源关系型数据库管理系统。当需要在Python程序中与MySQL数据库进行交互时,就需要借助特定的库或插件。在这个场景下,"python...

    MySQL数据库考试试题及答案-34页

    在 MySQL 中,DECLARE CURSOR 语句用于声明游标。游标用于在 SELECT 语句中返回结果集,并在结果集中进行遍历。 3.SELECT 语句 SELECT 语句是 MySQL 中最基本的查询语句。SELECT 语句的完整语法包括 SELECT、FROM...

    MYSQL连接数据库实例

    在实际操作中,连接MySQL数据库可以通过多种方式实现,例如使用命令行客户端、图形化工具(如MySQL Workbench)或者编程语言的库。以下是一个使用Python的`mysql-connector-python`库连接MySQL的示例: ```python ...

    python-mysql.zip_MYSQL_pymysql_python MySQL_python连接mysql_连接数据库

    在给定的`python-mysql.py`文件中,很可能包含了如何使用`pymysql`连接MySQL数据库的示例代码。通过学习和理解这个文件,你可以更好地掌握如何在Python项目中与MySQL数据库进行交互。 总之,Python的`pymysql`库为...

    python mysql 驱动安装包

    安装完成后,你可以使用以下代码连接到MySQL数据库: ```python import mysql.connector cnx = mysql.connector.connect(user='your_username', password='your_password', host='localhost', database='your_...

    MYSQL 详细图文使用手册

    ### MySQL 详细图文使用手册 #### 一、前言 1. **什么是MySQL?** - MySQL是一种关系型数据库管理系统,由瑞典MySQL AB公司开发,现隶属于Oracle公司。它使用SQL语言作为数据查询和管理的标准工具。MySQL因其性能...

    学生信息管理系统(python+GUI+mysql).zip

    学生信息管理系统(python+GUI+mysql).zip,学生信息管理系统(python+GUI+mysql).zip,学生信息管理系统(python+GUI+mysql).zip 学生信息管理系统(python+GUI+mysql).zip,学生信息管理系统(python+GUI+mysql).zip,...

    使用python将Excel数据导入到MySQL数据库

    本文将详细讲解如何使用Python这一强大的编程语言将Excel数据导入到MySQL数据库,以便更好地管理和操作数据。 首先,我们需要了解Python中的两个关键库:`pandas`和`mysql-connector-python`。`pandas`库提供了一种...

    Mysql的游标的定义使用及关闭深入分析

    尽管MySQL的游标使用方式与PL/SQL有所不同,但基本概念相似。 首先,定义游标是创建一个特定的指针,用于在查询结果集上移动。以下是一个例子: ```sql declare fetchSeqCursor cursor for select seqname, value ...

Global site tag (gtag.js) - Google Analytics