MySQL 复习存储过程游标使用
文章目录
- 关于存储过程
- 关于游标
- 存储过程&游标实例
- 创建数据库test
- 创建数据表teacher
- teacher表插入数据
- 创建数据表students
- students表与teacher建立外键
- students表插入数据
- 实现根据老师ID查找其带领的学生,学生性别值为1显示为女,性别值为0显示男。
关于存储过程
待补充。。。
关于游标
待补充。。。
存储过程&游标实例
创建数据库test
create database test charset='utf8';
创建数据表teacher
create table if not exists teacher(id varchar(4) primary key,name varchar(8),tele varchar(11)gender boolean);
teacher表插入数据
insert into teacher values("0001",'Mary','15008475721',1);
insert into teacher values("0001",'Tom','15008475722',0);
创建数据表students
create table if not exists students(stu_id varchar(4) primary key,stu_name varchar(8),stu_gender boolean,stu_birth datetime,teacher_id varchar(4));
students表与teacher建立外键
alter table students add foreign key(teacher_id) references teacher(id);
students表插入数据
insert into students values("s001",'小红',1,'2000-1-1',1);
insert into students values("s001",'小刚',0,'2008-1-1',1);
insert into students values("s001",'小茜',1,'2012-1-1',2);
insert into students values("s001",'小青',1,'2014-1-1',1);
实现根据老师ID查找其带领的学生,学生性别值为1显示为女,性别值为0显示男。
CREATE PROCEDURE `sp_stuInfo`(IN `tea_id` VARCHAR(4)
)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT 'Accroding to teacher`s id to find his/her students'
BEGINDECLARE sid VARCHAR(4);DECLARE sname VARCHAR(8);DECLARE sgender boolean;DECLARE sex VARCHAR(2);DECLARE stuInfo varchar(32) default "";DECLARE stu_cursor cursor FOR SELECT stu_id, stu_name, stu_genderFROM test.students WHERE students.teacher_id=tea_id;OPEN stu_cursor;fetch stu_cursor INTO sid, sname, sgender;-- gender 值为1,则显示为女;值为0,则显示为男if sgender =1 then SET sex = "女";ELSE SET sex = "男";END if;SET stuInfo = CONCAT("学号:",sid, " 姓名:", sname, " 性别:", sex);SELECT sid,sname, sex, stuInfo;close stu_cursor;
END
结果如图所示:
MySQL 复习存储过程游标使用相关推荐
- mysql每天1点执行存储过程_一天一点MySQL复习——存储过程
一.存储过程概念 使用SQL编写访问数据库的代码时,可用两种方法存储和执行这些代码,一种是在客户端存储代码,并创建向数据库服务器发送的SQL命令(或SQL语句),比如在C#.Java等客户端编程语言中 ...
- mysql 多个游标_mysql 存储过程中使用多游标
mysql的存储过程可以很方便使用游标来实现一些功能,存储过程的写法大致如下: 先创建一张表,插入一些测试数据:DROP TABLE IF EXISTS netingcn_proc_test; CRE ...
- MySQL存储过程 游标
MySQL存储过程 游标 如何在存储过程中使用MySQL游标来遍历SELECT语句返回的结果集 MySQL游标简介 要处理存储过程中的结果集,请使用游标.游标允许您迭代查询返回的一组行,并相应地处理 ...
- mysql 事务 游标_mysql之——存储过程 + 游标 + 事务
下面是自己曾经编写过的mysql数据库存储过程,留作存档,以后用到的时候拿来参考. 其中,涉及到了存储过程.游标(双层循环).事务. [说明]:代码中的注释只针对当时业务而言,无须理会. 代码如下: ...
- mysql的游标处理_MySQL存储过程 游标 错误处理的示例代码
MySQL存储过程 游标 错误处理的示例代码--set_account_data 重新生成用户编号 BEGIN DECLARE temp_id INT(8); /*用户id*/ DECLARE tem ...
- MySQL必知必会笔记(六)存储过程 游标 触发器
第二十三章 使用存储过程 MySQL5 中添加了存储过程的支持. 大多数SQL语句都是针对一个或多个表的单条语句.并非所有的操作都怎么简单.经常会有一个完整的操作需要多条才能完成 ...
- mysql存储过程-游标
-- 2022-05-03 星期二 1924 mysql存储过程-游标 -- 参考:https://wenku.baidu.com/view/4cc6c15b158884868762caaedd338 ...
- mysql 存储过程 预处理语句_用于预处理语句的MySQL存储过程游标
我有一些坏消息和好消息 . 首先是坏消息 . MySQL手册说游标不能用于使用PREPARE和EXECUTE准备和执行的动态语句 . 在游标创建时检查游标的语句,因此该语句不能是动态的 . 所以到目前 ...
- Mysql复习计划(四)- 索引失效和数据库设计规范
Mysql复习计划(四)- 索引失效和数据库设计规范 一. 索引失效 1.1 数据准备 1.2 最左匹配原则 1.3 计算.函数.类型转换导致索引失效 1.4 范围条件右侧的列索引失效 1.5 不等于 ...
最新文章
- AngularJS 指令
- 记一次libfreenect2安装配置的经历
- 多备份cloud 5技术:传统数据备份思路的完美移植
- 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践
- Java sqlite事务方法,Java SQLiteDatabase.insert方法代码示例
- 旺财速啃H5框架之Bootstrap(五)
- python3-numpy 数组操作--修改数组形状、翻转数组、修改数组维度、连接数组、分割数组、数组元素的添加与删除
- 什么是Eureka? 单机版Eureka如何使用?
- Javascript前端加载等待圆型圈提示实现效果
- Java之品优购课程讲义_day20(2)
- (228)FPGA岗位有哪些?
- Java中对象的比较 == 和 equals()
- git 查看自己的用户名和邮箱
- Qt5学习笔记之QQ登录界面二:登录按钮与信号槽
- 计算机运行命令jar,jar文件打开教程
- 巫师3储物箱在哪_巫师三孤岩宝箱在哪 | 手游网游页游攻略大全
- 苹果笔记本什么系统_怎么把苹果笔记本系统改为win7系统?
- 香农公式说明了什么_香农定理到底有什么含义?能通俗地解释一下么?
- Scipy_常用统计函数
- Java设计模式之外观模式(门面模式,迪米特法则的具体实现,抽象外观类改进)
热门文章
- 心电图数据读取matlab程序,心电信号的提取及matlab编程.doc
- Epson程序控制相关命令
- C++基于多态的职工管理系统,通过文件管理数据。
- 近四成“无办公桌”员工可能准备辞职;超九成外籍人士有倦怠症状;美国加拿大员工敬业度仍为全球最高 | 美通社头条...
- git 之 git log命令原来还能这么玩
- 掌柜智囊收银软件 v1.10.0.310官方版
- SQL Server 自动化运维工具 dbatools
- Modelsim仿真使用教程
- SVPWM原理(五段式七段式)及其Simulink建模
- 【Java语言】力扣系列----64. 最小路径和