Navicat for MySQL 函数 存储过程 遍历创建大量复杂结构测试数据

MySQL SQL执行流程深度解析:从Parser到Executor的完整执行路径 这次我们来看一个 MySQL 内部执行流程的深度解析。当你敲下回车执行一条 SQL 语句时,MySQL 内部并非简单地“执行”,而是经历了一个复杂、精密的处理流水线。这个过程直接决定了查询的效率和结果,也是理解 SQL 优化、排查慢查询、乃至设计高效数据库架构的基石。 对于开发者、DBA 或任何需要与数据库深度交互的人来说,搞清楚这条流水线至关重要。它能帮你从“凭感觉调优”转向“有依据地优化”,比如:为什么加了索引反而更慢?为什么这个查询走全表扫描?如何写出真正高效的 SQL?本文将从一次查询请求的视角出发 阅读详情

需求说明:

测试接口时需要造数据,由于数据层次比较复杂导致数量较大,手动添加比较困难,所以就建了一个存储过程函数,来遍历插入数据。

 

工具 Navicat for MySQL

1、这里使用的Navicat  所以先安装Navicat 并连接到你想有创建函数的数据库

2、新建函数

***注意****

由于软件版本不同 步骤稍有差别,以下第3、4部是我用window时 老版本的navicat需要选择这两部,现在用mac版的 版本貌似比较新,直接就进入第5步了。如果你直接进入第5部  直接进行编辑即可,就像写java、scala等一样写一个function就好了,只是语法有所不同而已。

3、选择过程

4、设置添加参数,如选择IN指的是调用此函数时传入的参数名以及类型,out为返回值........

5、在以下对应位置修改和填写自己需要的内容,我们只需要写方法名,参数列表,函数体 就ok了

填写完函数内容保存即可

示例:以下是我创建之后的语句

注:其中 第一句中的DEFINER=`root`@`%`  是创建语句时DEFINER = CURRENT_USER 自动获取替换登录用户后生成的,不需要自己修改。

CREATE DEFINER=`root`@`%` PROCEDURE `MakeData_dm_f_activity_analysis_hour`()
BEGIN
	DECLARE dataType int;#声明变量(有些变量需要添加长度限制才能正常保存函数)
	DECLARE grading int;
	DECLARE gradTime VARCHAR(11);#声明变量(有些变量需要添加长度限制才能正常保存函数)
	DECLARE sumCount int;
	DECLARE inputDate VARCHAR(11);
	set inputDate='2018-05-01';#需要造那天的数据修改此处即可
	set dataType=1;
	set grading=0;
	WHILE grading<24 do   #插入数据的多少
		set sumCount=RAND()*1000;   #随机函数 RAND()生成的是0~1之间的小数,乘以多少就可以放大多少倍,如起点不是0,则加上起点数 如20~80:RAND()*60+20

	if (grading<10) then  
		 set gradTime = CONCAT('0',grading,':00'); 
	else  
		set gradTime =CONCAT(grading,':00');  
	end if;
		#5个数据类型 和24个小时遍历生成数据,组合七个固定生命周期插入
		INSERT INTO `bg_webAnalysis`.`dm_f_activity_analysis_hour`(`id`, `tenant_id`, `activity_id`, `type`, `data_type`, `sum_target`, `data_hour`, `created_at`, `updated_at`, `created_by`, `updated_by`, `publish_status`, `input_date`) VALUES (null, 1, 1, 1, dataType, sumCount, gradTime, '2018-05-21 14:51:34', '2018-05-21 14:51:40', 123123, 3213123, 1, inputDate);
	if (dataType<5) then  
		 set dataType= dataType+1;
	elseif (dataType=5) then  
		 set grading=grading+1; 
		 set dataType= 1;
	end if; 
	END WHILE;

END;

此处是造数,所以无需参数和返回值。

 

注意事项/语法:

1、DECLARE 用来声明变量。但是有些变量需要添加长度限制才能正常保存函数。

2、set 用给变量赋值

3、WHILE do END WHILE; 来循环

4、条件用if语句

if (dataType<5) then

set dataType= dataType+1;

elseif (dataType=5) then

set grading=grading+1;

set dataType= 1;

end if;

但是此处注意elseif 要连起来写。

5、CONCAT(str1,str2,str3,......'); 函数用来拼接字符串

6、RAND()生成0~1的数据数(与java等类似)可以*1000 再赋给int即可产生,0~1000的随机整数

 

微信小程序社区团购毕设:源码、数据库与论文全解析 毕业设计是计算机专业学生综合能力的集中体现,微信小程序凭借免安装、易传播的特性,成为课程设计与毕设的高频选题。社区团购业务模型涵盖用户、团长、商品、订单、自提点等核心实体,数据流转路径清晰,适合展示前后端开发与数据库设计能力。从技术原理看,Spring Boot提供稳定后端服务,MyBatis Plus简化持久层操作,MySQL支撑业务数据存储,小程序端则通过授权登录、购物车、下单支付等模块串联完整交易链路。这类项目不仅贴近真实商业场景,还能锻炼从需求分析、表结构设计到接口联调的全栈工程思维。本文围绕微信小 阅读详情

相关推荐

fNIRS 公开数据集整理

关注“心仪脑”查看更多脑科学知识的分享。 关键词:数据整理、fNIRS 之前我们向大家推送了 Public Neuroscience Dataset 系列主题的第一期:《EEG公开数据集》,我们同时意识到大家对于神经科学公开数据集的需求。本期是该系列主题的第二期,我们在延续第一期初衷的基础上,整理了功能性近红外光谱(fNIRS)技术的公开数据集。 fNIRS 是一种非侵入性、便携且价格低廉的光学神经成像技术,它具有可观的空间和时间分辨率。因fNIRS技术问世较EEG晚了许多,所以应用此技术开展研究发.

psybrain的博客 4272

mysql对结果集进行遍历(mysql双重for循环如何写)

更新的原则是type为c的currentValue的值= (type为b的currentValue) / ((type为b的currentValue) + (type为a的currentValue)) *100。上面这个需求有很多种实现方法,看到这个需求的时候,我想到的双重for循环:先查询第一个结果集,第一个结果集合里面包含oid字段。当定义完了以后,执行sql。FETCH [游标名] INTO [变量名 1 ],[变量名 2 ];FETCH [游标名] INTO [变量名 1 ],[变量名 2 ];

城南蝈蝈 1377

UNITY2022 Cardboard环境搭建

必须安装 Git,并且 git 可执行文件必须位于 PATH 环境变量中。考文档:https://developers.google.cn/cardboard/develop/unity/quickstart?转到 Assets/Samples/Google Cardboard//Hello Cardboard/Scenes/HelloCardboard 场景中。粘贴https://github.com/googlevr/cardboard-xr-plugin.git到文本输入字段中。

weixin_39510925的博客 1211

SQL 存储过程

定义: 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升。 其中存储过程名不能超过128个字。每个存储过程中最多设定1024个参数 OUTPUT 是用来指定该参数是既有输入又有输出值的,也就是在调用了这个存储过程时,如果所指定的参数值是我们需要

weixin_38260007的博客 1133

零基础微信理财通基金实操指南(2026版)

先活下来:保证不亏大钱,再想赚钱慢慢变富:年化10%,7年翻倍,这已经很好了开始比完美重要:今天先存100元到零钱通,就是最好的开始现在打开微信,进入理财通,完成第一步风险测评吧!有任何问题可以随时问,我会用最通俗的方式解释。

老韩的Linux云计算架构师进阶之路 1689

汽车工程师必看:从CAN到Ethernet,6种车载通信协议全解析(附应用场景对比)

本文全面解析了从CAN到Ethernet的6种车载通信协议,包括CAN、LIN、MOST、FlexRay等,并对比了它们的应用场景和技术特点。文章详细介绍了各协议的演进历程、技术优势及在现代汽车中的混合网络架构设计,为汽车工程师提供了实用的协议选型指南和未来通信技术发展趋势。

weixin_28683689的博客 492

Navicat Premium中触发器函数操作

之前使用Navicat Premium链接postgresql数据库,一直没发现触发器函数在哪里,因为查看左侧对象树中没有,今天搜索了下,终于发现了,在工具栏-->其他-->触发器函数中

quanjinzhang的专栏 4143

别再手动写用例了!用AI Agent自动生成测试用例的保姆级实战(附Python代码)

本文详细介绍了如何利用AI Agent技术自动生成测试用例,大幅提升测试工程师的工作效率。通过Python代码实战演示,从环境搭建到核心Agent构建(需求解析、场景挖掘、用例编排),再到与企业工具链(TestRail、Jira)的深度集成,帮助团队实现测试用例的智能化生成与管理。

weixin_30897233的博客 646

MYSQL存储过程进行写读操作(for循环)

MYSQL存储过程进行写读操作(for循环)

人的一生就是在学习的道路上不断进步 5617

Wezterm的安装和简单配置

希望 wezterm 的主题配色,保持和 powershell 默认配色一致,也就是 Compell 主题。目的是在频繁使用 wezterm 时,原本的根据颜色判断文件信息(尤其是WSL里的Linux下,文件和目录颜色)依然可以使用。wezterm 默认用 cmd.exe, 我是 win11,希望默认用 powershell。

baiyu33的博客 4269

【Zephyr电源与功耗专题】13_PMU电源驱动介绍

本文介绍的PMU芯片包含2路DCDC和6路LDO,在Zephyr实时操作系统下实现了完整的电源管理解决方案。

zero的博客 842

使用Navicat工具函数大批量生成Oracle/Mysql测试数据

操作步骤 1.点击【函数按钮】新建函数:2.输入名称选择过程,可不填参数直接【完成】: 3.输入存储过程代码 示例 CREATE OR REPLACE PROCEDURE "test" AS i INT := 0; BEGIN WHILE i<500000 LOOP INSERT INTO T_ZLJD_XKZ_DZZZ(ID, ZZZT, DZZZURL, SBYY,SFSC) VALUES ( RAWTOHEX(sys_guid()),CONCAT('证书状态',.

weixin_42672802的博客 1490

【产品经理修炼之道】-如何搭建企业级账务系统?

笔者公司的业务模式具有一定的独特性,不同于我们常见的市面上供应链类公司的进销存模式。公司主要为各大银行和金融机构提供信贷领域的风控服务,客户主要通过请求公司的数据产品接口产生费用,可以简单地理解为请求一次接口收费0.5元,一个月若是有1w人请求同一个接口则公司需要收费5000元。

xiaoli8748的专栏 5406

JB2-3-MySQL(一)

关系型DB,存储引擎,组织架构,MySQL容器,可视化工具,导入导出表格,DDL用户,DCL权限,DDL三范式,DDL表格,DDL临时表,DML操作,DDL约束,DQL查询(排序,条件,模糊,正则,范围,分页,分组,子查询,联表,并集),DQL函数(数学,日期,字符,自定义)等。

周航宇的博客 3601

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

不要裸奔!云服务器安装 MySQL 的安全避坑全攻略(3000 字长文,附安装脚本

《MySQL数据库安全警示:切勿公网裸奔》文章指出,许多开发者为图方便直接在公网开放3306端口,导致数据库面临严重安全隐患。黑客会持续扫描暴露的MySQL端口,利用弱口令爆破等手段入侵,已有多个因数据库裸奔导致数据被删、被勒索的真实案例。文章强调公网直连MySQL存在端口暴露、弱口令易破、明文传输三大风险,并给出安全解决方案:必须开启SSL加密通信、创建最小权限账户、配置IP白名单。同时提供一键安装MySQL 8.0的脚本和SSL证书生成教程,建议开发者上线前完成防火墙设置、权限管控、日志监控等安全检查。

1720

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

mysql自学

目录一、数据库概念二、mysql安装2.1 ubuntu安装mysql2.2 rockylinux安装mysql2.3 windows安装mysql2.4 数据初始化2.5 修改密码2.6 创建用户2.7 忘记密码2.8 默认端口2.9 远程连接三、数据库管理工具Dbeaver四、mysql练习库4.1 world库4.2 sakila库4.3 employees库4.4 自建库导出4.5 全库备份与恢复(all-databases)4.6 查询结果导出五、SQL语言六、五种数据类型6.1 整数型6.2 浮

zhangli2009x的博客 258

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

MySQL SQL执行全流程解析:从语法解析到查询优化的完整链路

在数据库系统中,SQL查询的执行是一个高度优化的管道化过程,涉及多个核心组件的协同工作。其基本原理始于语法解析器对SQL语句进行词法和语法分析,确保指令结构正确。随后查询优化器基于成本模型评估多种执行路径,选择最优方案,这是决定查询性能的关键环节。这一技术价值在于将用户声明式查询转化为高效物理执行计划,直接影响系统吞吐和响应时间。应用场景广泛覆盖日常CRUD操作、复杂多表关联及大数据量分析。本文聚焦MySQL内部执行机制,深入探讨优化器决策逻辑和索引选择策略,帮助开发者理解慢查询根源并掌握性能调优方法,提升

tyygming的专栏 400

安装 MongoDB、与SQL语法对比、Python (异步)操作 mongodb:增、删、改、查

安装 MongoDB、与SQL语法对比、Python (异步)操作 mongodb:增、删、改、查

freeking101的博客 8714

JavaWeb学习

#前端部分(了解)课程思路、前端要素(Web了解、html、JS、vue、ajax、Element等)传统路线现在课程大纲路线## 前端要素(Web了解、html)HTML语法特点基本标签html标签(span)html标签(a)html标签(video)盒子模型:html标签(div)html标签(表格)html标签(表单)## 前端要素(JS)JS引入方式JS基础语法JS函数JS对象(基础(只关注Array、String、JSON)、BOM、DOM)JS事件监听## 前端要素(Vue)插值表达式Vue常

qq_2634545805的博客 430

Java+Vue+Spring Boot全栈在线考试系统:毕业设计与实战指南

在线考试系统是教育信息化和在线学习平台的核心应用之一,它基于B/S架构,通过前后端分离技术实现。其原理是前端负责用户交互界面,后端处理业务逻辑与数据存储,数据库则持久化保存用户、试题和考试记录。这种架构的价值在于提升了系统的可维护性、扩展性和开发效率。在应用场景上,它不仅适用于学校在线测评、企业内训考核,也为计算机专业学生提供了绝佳的**毕业设计**实战案例。本文聚焦于一个采用**Java + Vue + Spring Boot + MySQL**技术栈构建的开源在线考试系统,详细解析其从环境搭建、功能测试

weixin_34178244的博客 418

Vue+SpringBoot健身房管理系统实战:前后端分离项目从零搭建到部署

前后端分离架构是现代Web应用开发的主流模式,其核心原理是将用户界面(前端)与业务逻辑和数据(后端)解耦,通过API进行通信。这种架构模式的技术价值在于提升了开发效率、实现了技术栈的灵活选型,并便于团队协作与独立部署。在应用场景上,它广泛适用于各类后台管理系统、电商平台和企业级应用。本文以健身房管理系统为例,深入剖析了Vue与SpringBoot如何协同工作,并详细讲解了MyBatis-Plus等框架在项目中的实用技巧,为开发者提供了一个完整、可运行的学习范本。

weixin_30861797的博客 392

SQL脚本生成与执行:从手动操作到自动化部署的实战指南

在数据库管理与开发中,SQL脚本是实现自动化、提升效率的核心技术。其原理是将数据库对象或数据转换为可重复执行的文本指令,通过命令行或脚本引擎驱动数据库引擎完成操作。这项技术的核心价值在于实现数据库变更的版本控制、保障数据迁移的可靠性,并支撑持续集成与部署流程。无论是日常运维中的结构同步、数据备份,还是敏捷开发中的迭代更新,SQL脚本都扮演着关键角色。本文聚焦于SQL Server环境,深入解析如何利用sqlcmd、PowerShell等工具链,结合事务管理与错误处理机制,安全高效地实现脚本的生成与执行,从而

weixin_33923762的博客 419

基于Java SSM框架的音乐推荐系统:协同过滤算法实战与工程实现

推荐系统是现代互联网应用的核心技术之一,其基本原理是通过分析用户历史行为数据,预测用户可能感兴趣的物品。协同过滤作为最经典的推荐算法,其核心思想是“相似用户喜欢的内容,你也可能喜欢”,通过计算用户或物品之间的相似度来生成个性化推荐。在工程实践中,算法需要与成熟的Web开发框架结合,才能实现从数据到服务的完整链路。Java SSM框架凭借其稳定性和生态成熟度,成为构建此类系统的常见选择。本文聚焦于如何将协同过滤算法落地到SSM架构中,通过设计合理的数据库表结构、实现离线计算与缓存更新的策略,并解决冷启动等常见

weixin_34067102的博客 366

SSM框架Java毕业设计:红枫超市会员管理系统部署与核心功能测试指南

在Java Web开发领域,SSM(Spring、Spring MVC、MyBatis)框架整合是构建企业级应用的核心技术栈,它通过清晰的MVC分层架构,实现了业务逻辑、数据访问与Web请求的高效解耦。其原理在于Spring的IoC容器管理Bean生命周期,Spring MVC处理HTTP请求与响应路由,而MyBatis则作为ORM框架简化了数据库操作。这套组合的技术价值在于提供了稳定、可维护的后端解决方案,广泛应用于电商、ERP、CRM等各类信息管理系统。本文聚焦于一个典型的应用场景——超市会员与进销存管

weixin_30889885的博客 444

MockServer UI:可视化API模拟工具的核心功能与实战指南

API模拟是软件开发和测试中的一项基础技术,它通过模拟后端服务的行为,使前端或客户端能够在依赖服务未就绪时独立进行开发和测试。其核心原理是拦截特定网络请求,并根据预定义的规则返回模拟响应数据,从而解耦开发依赖,提升开发效率与测试覆盖率。在工程实践中,高效的API模拟工具能显著加速开发流程,尤其适用于前后端分离、微服务架构以及自动化测试等场景。本文聚焦于可视化MockServer工具,深入解析其如何通过图形化界面(UI)管理模拟规则(Stubs)、查看请求历史、配置场景(Scenarios)与利用代理录制(P

weixin_30824599的博客 295

SpringBoot医院药房库存管理系统:毕业设计实战与功能优化指南

库存管理系统是信息化建设的核心组成部分,它通过数据库技术对物品的入库、出库、盘点等流程进行数字化管理,其原理在于实现数据的高效增删改查与状态追踪。这类系统在提升管理效率、降低损耗、保障供应连续性方面具有重要技术价值,广泛应用于零售、物流、医疗等多个行业。在医疗场景中,药品库存管理尤为关键,涉及效期预警、供应商协同等复杂需求。本文聚焦于一个基于Java SpringBoot的医院药房药品库存管理实战项目,该项目提供了完整的源码与文档,是进行毕业设计或学习企业级开发的优质素材。文中将结合功能优化与缓存机制等热词

weixin_30911451的博客 531
上一篇: macbook删除全部蓝牙设备列表
下一篇: 部署IBM区块链平台:开发区块链业务网络到Hyperledger Fabric(多个组织)
grootblockchain
博客等级 码龄11年 55粉丝 101原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值