MySQL实现for循环逐个遍历

 0

 2443

红薯

2019/6/23 21:18:03

SQL:结构化查询语言,包括数据定义语言(DDL)如:CREATE、DROP、ALTER等;数据操作语言(DML)如:INSERT、UPDATE、DELETE之类;数据查询语言(DQL)如:SELECT语句;数据控制语言(DCL)如:GRANT、REVOKE、COMMIT、ROLLBACK等。

T-SQL:Transact-SQL,为SQL的语言的增强版,加入了程序语言中的if,while 等流程控制语法,同时可以使用函数功能。

[pre]

delimiter // # 定义//为一句sql的结束标志,取消;的所代表的意义

drop procedure if exists test; # 如果存在名字为test的procedure则删除

create procedure test() # 创建(创建函数使用的关键字为function 函数名())

begin

declare old_pro varchar(30); # 声明变量

declare temp_id int;

declare flag int default 0;

# 这是重点,定义一个游标来记录sql查询的结果(此处的知识点还有SQL的模糊查询,见补充)

declare s_list cursor for select id, province from temp_table where like "%省";

# 为下面while循环建立一个退出标志,当游标遍历完后将flag的值设置为1

declare continue handler for not found set flag=1;

open s_list; # 打开游标

# 将游标中的值赋给定义好的变量,实现for循环的要点

fetch s_list into temp_id, old_pro;

while flag <> 1 do

# sql提供了字符串的切分,有left、right、substring、substring_index

# 在T-SQL中,局部变量必须以@作为前缀,声明方式set,select还有点差别

set @temp_s = substring_index(old_pro, "省", 1);

# 根据id的唯一性,利用当前查询到的记录中的字段值来实现更新

update temp_table set province=@temp_s where id=temp_id;

# 游标往后移(此处的游标是不是让你想起了C里面的指针)

fetch s_list into temp_id, old_pro;

end while;

#select * from temp_table;

close s_list; # 关闭游标

end

//

delimiter ; # 重新定义;为一句sql的结束标志,取消//的所代表的意义

call test(); # 调用

[/pre]

效果

处理前 VS 处理后

img[/layedit/img/201906232117092628.png]

SQL具有四种匹配模式

1、%:表示零个或多个字符;

2、_:表示任意单个字符;

3、[]:表示括号内所列字符中的任意一个(类似正则);

4、[^]:取反(类似正则);

注:若匹配中包含通配符则使用“[]”将特殊字符括起来即可(相当于转义)

mysql 循环_MySQL实现for循环逐个遍历相关推荐

  1. mysql数据库如何循环_mysql数据库如何循环语句

    mysql数据库循环语句的方法: 循环编写方式1:while关键字delimiter //                            #定义标识符为双斜杠 drop procedure i ...

  2. mysql里条件语句和循环语句_MySQL与Oracle 差异比较之四条件循环语句

    循环语句 编号 类别 oracle Mysql 注释 1 IF语句使用不同 IFiv_weekly_day = 'MON'THEN ii_weekly_day := 'MON'; ELSIFiv_we ...

  3. mysql 切割字符串 并用for循环_mysql完成字符串分割

    数据分割字符串,像spilt那样按某个符号将字符串分割成多个数组 mysql: 使用方法LENGTH()长度, SUBSTRING_INDEX()分割字符串, REPLACE()替换字符串 REVER ...

  4. mysql中写一个循环语句_mysql 如何写循环语句

    mysql写循环语句的方法:1.使用while循环,代码为[WHILE i<5 DO]:3.使用repeat循环:代码为[REPEAT INSERT INTO test VALUES(i+11, ...

  5. 语句中如何结束本循环进入下一循环_第33 p,for遍历,循环取值最方便

    大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第33篇文章,第二阶段的课程:Python基础知识:Python中的控制语句之for遍历. 学习本课程,建议先看一遍:[计算机基础知 ...

  6. 【MySql】MySql存储,游标,循环的简单使用

    MySql存储,游标,循环 CREATE PROCEDURE `copy_group`(IN v_sourcegroupid int,IN v_destgroupid int,IN v_project ...

  7. Python程序控制结构(二)循环结构:for in遍历循环,while无限循环,循环+else

    Python程序控制结构(二)循环结构: 1. for in遍历循环 2. while无限循环 一.遍历循环 二.遍历循环的应用 遍历循环是使用for in保留字形成的一种循环,它能够对遍历结构中的每 ...

  8. Mysql中的三种循环

    1,while-do-end while /* while循环语法: while 条件 DO循环体; end while; */-- 实例: create procedure sum1(a int) ...

  9. mysql 的三种循环操作 while do ... end while 循环 loop ... end loop 循环 repeat ... end repeat 循环

    mysql 的三种循环操作 while do ... end while 循环 loop ... end loop 循环 repeat ... end repeat 循环 blog.csdn.net/ ...

最新文章

  1. Java集合之Properties
  2. C++新增头文件.h,静态库.lib
  3. Android中BindService方式使用的理解
  4. MySQL 数据恢复
  5. 区块如何防篡改_深入浅出:一条数据是如何完成上链的
  6. Oracle之PL/SQL学习笔记之有名块练习
  7. cass读取dat文件_CASS里DTM法土方计算
  8. 字符串 kmp算法解析
  9. java摄像头推流,流媒体服务 javaCV-2 推流
  10. C++ GUI Qt4 自学笔记
  11. C语言 使用FFT得到信号幅度谱
  12. C/C++二维数组指针(指向二维数组的指针)详解
  13. 【图】图的一般表示法以及其他表示法转化为一般表示法
  14. 测绘行业如何?从业十年对测绘行业的薄见
  15. Win7快速调整屏幕亮度最快的方法
  16. 如何利用华硕Mesh系统路由器在780平方公尺大的场域架设可靠的WiFi系统?
  17. 网络与信息安全身份证认证技术分析
  18. Leetcode 874. Walking Robot Simulation
  19. Android开发学习之基于ZBar实现微信扫一扫
  20. Java开发人员必须掌握的两个Linux魔法工具(四)

热门文章

  1. 麦肯锡:数字化转型的1个目标,3大领域,6大因素和9个环节
  2. 妖哲的日常3 QA前线——讨伐!全自动页游
  3. 芯片行业名词简写——来自实操小白经验积累1.0
  4. 这一篇让你彻底弄明白 Flutter 的 InheritedWidget 局部刷新机制
  5. 两台计算机其中一台总掉线,电脑老掉线_两台电脑,一台频繁掉线,另一台正常...
  6. input 输入框只允许输入整数或非负整数或限制输入中文
  7. unity如何支持stl文件的导入
  8. 新人如何快速上手项目管理?
  9. 自动驾驶技术:前景、优势与挑战
  10. 蓝桥杯寒假作业——python