mysql 动态生成测试数据

2023年 4月 19日 65.5k 0

一、问题 要生成两类数据: A类:两位的 01 02 03 。。。09 10 11。。。19 20 21 。。。98 99 另一类B类:三位的 100 101 102 。。。110 111 112。。。998 999 二、解决办法 1、建表 复制代码 代码如下

一、问题 要生成两类数据: A类:两位的 01 02 03 。。。09 10 11。。。19 20 21 。。。98 99 另一类B类:三位的 100 101 102 。。。110 111 112。。。998 999 二、解决办法 1、建表 复制代码 代码如下: CREATE TABLE `test`.`ta` ( `a` varchar(45) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; 2、创建存储过程 复制代码 代码如下: DELIMITER $$ DROP PROCEDURE IF EXISTS `test`.`proc_tp` $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_tp`(in prex int,in max int) begin declare i INT DEFAULT 0; declare s varchar(500); WHILE (i<10 and prex<max) DO select concat(prex,i) into s; insert into ta (a) values (s); set i=i+1; if(i=10 and prex<max) then set prex=prex+1; set i=0; end if; END WHILE ; end $$ DELIMITER ; 3、分别调用执行存储过程 CALL proc_tp(0,10) 创建A类数据 CALL proc_tp(10,100) 创建B类数据 4、查询结果 SELECT * FROM ta t order by cast(a as signed) asc;

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论