mysql 存储过程创建多个表

mysql-使用存储过程一次性批量创建多张 大家好,谢谢大家阅读我的文章,请多多指教 如何使用存储过程一次性创建多张,^-^,代码如下: 业务需求:项目中需要创建100张 我使用了存储过程来实现 这是我项目中使用到的一个小小功能 DELIMITER $$ USE `DBName`$$ DROP PROCEDURE IF EXISTS `pro_TableCreate`$$ CREATE DEFINER=`root`@`... 阅读详情

要创建64个表,听到这一需求,必然要用存储过程。直接上代码:

DELIMITER $$


USE `table`$$


DROP PROCEDURE IF EXISTS `p`$$


CREATE DEFINER=`root`@`localhost` PROCEDURE `p`()
BEGIN
DECLARE i INT;
DECLARE table_name VARCHAR(20); 
DECLARE table_pre VARCHAR(20); 
DECLARE sql_text VARCHAR(2000); 
SET i=1;
SET table_name='';
SET table_pre='lp_search_keywords_';
SET sql_text='';
WHILE i<65 DO
IF i<10 THEN SET @table_name=CONCAT(table_pre,'0',i);
ELSE SET @table_name=CONCAT(table_pre,i);
END IF;

SET sql_text=CONCAT('create table ',@table_name,'(id int)');

-- SELECT sql_text; 
SET @sql_text=sql_text;
PREPARE stmt FROM @sql_text;
EXECUTE stmt;
DEALLOCATE PREPARE stmt; 
SET i=i+1;
END WHILE;
END$$


DELIMITER ;


如代码所示,要注意几个点:

1.在sql_text和table_name前加@,不然会找不到值,加上@后参数可以再过程外调用。

2.10一下的加0,不然1,10,MySQL会判断为重复。

3.execute后面的语句是preare之后的statement

Mysql-通过创建存储过程完成“对多个同类进行查询并将结果汇总储存在新中” 创建存储过程将数据从多个相同中查询求topN并存入,案例背景:公司数据储存在N张中,N是大数,现在需要求每个类别某类数据topN用户的数据 阅读详情

相关推荐

MySQL中利用存储过程实现循环批量

最近遇到一个在MySQL中循环批量的问题,今天抽空记录一下实现过程!# 定义存储过程 DELIMITER $$ CREATE PROCEDURE create_table_batch() BEGIN # 定义循环次数 SET @i = 1;)');END IF;END WHILE;# 调用存储过程 call create_table_batch();

笑看风云路的博客 1133

mysql存储过程创建

mysql存储过程创建

weixin_56542271的博客 1883

mysql创建

mysql创建列属性参数

weixin_46996561的博客 2万+

Mysql存储过程_一次性立多张

mysql存储过程之一次性立多张

fangfengzhen115的专栏 6413

mysql存储过程多个创建_mysql 存储过程创建多个

创建64个,听到这一需求,必然要用存储过程。直接上代码:DELIMITER $$USE `table`$$DROP PROCEDURE IF EXISTS `p`$$CREATE DEFINER=`root`@`localhost` PROCEDURE `p`()BEGINDECLARE i INT;DECLARE table_name VARCHAR(20);DECLARE table_pr...

weixin_34738304的博客 437

mysql存储过程多值_如何创建MySQL返回多个值的MySQL存储过程

我们可以使用IN和OUT参数创建一个存储过程,以从MySQL中获取多个值。为了理解它,我们以一个名为“ student_info”的为例,该包含以下数据:mysql>Select*fromstudent_info;+------+---------+------------+------------+|id|Name|Address|Subject...

weixin_39630498的博客 186

MYSQL通过存储过程实现批量

​适用于分比较多的情况,如何批量创建,可通过存储过程实现。 存储过程批量执行只是临时使用,不议业务使用存储过程,有些存储过程封装SQL较多,导致性能下降,不容易排查。 创建一个存储过程:红色为结构,蓝色为名及数量,从0开始到255 MySQL root@[test]>delimiter // MySQL root@[test]>create procedure sp_create_tab() begin set @str = " ( `id` int(11) NO...

MYSQL轻松学的专栏 818

MYSQL批量存储过程

比较多的情况,如何批量创建,可通过存储过程实现: 创建一个存储过程:红色结构,蓝色为名及数量 delimiter // create procedure sp_create_tab() begin set @str = " (   `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',   `bak0` va

MYSQL轻松学的专栏 1173

mysql创建多张结构一样的(分时用)

创建多张多个数据库sql语句

eagle89的专栏 2847

MySQL数据库存储过程是什么和创建存储过程(CREATE PROCEDURE)

我们前面所学习的 MySQL 语句都是针对一个或几个的单条 SQL 语句,但是在数据库的实际操作中,经常会有需要多条 SQL 语句处理多个才能完成的操作。例如,为了确认学生能否毕业,需要同时查询学生档案、成绩和综合,此时就需要使用多条 SQL 语句来针对这几个数据完成处理要求。存储过程是一组为了完成特定功能的 SQL 语句集合。使用存储过程的目的是将常用或复杂的工作预先用 SQL 语句写好并用一个指定名称存储起来,这个过程经编译和优化后存储在数据库服务器中,因此称为存储过程

m0_37449634的博客 2828

mysql循环_循环创建多张多个数据库sql语句(数据库水平分库分时方便)...

循环创建多张多个数据库sql语句(数据库水平分库分时方便)----------------------靓丽的分割线 结束---------------------------------------============靓丽的分割线 以下为老版本 不可以动态传参数 仅供参考==============-----------------------------MySQL动态创建多张-...

weixin_36310662的博客 1731

MYSQL 存储过程带参数 按时间创建相应的

废话少说直接看代码。不明白的就留言 create procedure sm_creatMonthTbProc(mdate varchar (8)) begin declare sm_results_name varchar(30); set @sm_results_name = concat('sm_results_',mdate); set @csql = concat("crea

树蛙PHPER 7659

mysql 使用存储过程循环批量创建和数据sql

sys_remark` varchar(255) DEFAULT \'\' COMMENT \'系统备注\',show procedure status;-- 显示存储过程的具体内容。

xxx的博客 1326

sql创建视图存储过程

sql创建视图存储过程视图存储过程是干什么的?Mysql创建视图(我用的sqlyog)mysql创建存储过程Orcal 创建视图Orcal 存储过程SQLserver 创建视图SQLserver 存储过程 声明:我是一只小菜鸟,下面如果有错误的地方请多多包含,烦请指出并更正 视图存储过程是干什么的? 我们平时为什么要用到视图? 比如一个系统需要调用我们自己的数据,我们可以把他需要的所有字段提取出来组成一个视图给他观看。 我们为什么要创建存储过程? 如果一个很复杂的业务逻辑,用一个sq

weixin_45968482的博客 4017

MySql存储过程批量创建数据库

1.存储过程 1.1存储过程的查看,执行,删除 # 查看存储过程 show procedure status; # 执行存储过程 call createTables_cq(); # 删除存储过程 drop PROCEDURE createTables_cq; 1.2使用数据库,删除存储过程 #.使用cq_mhl_test这个数据库 USE cq_mhl_test; # 如果存在名为`createTables_cq`的存储过程,就将其删掉 drop procedure if EXISTS `create

CsbLanca 787

MYSQL存储过程使用动态SQL

这个问题一直困扰着偶将近一个月了,偶在CSDN ,在MYSQL.cn 论坛里去发帖提问相关滴问题,去找了,也看到了很多人在问这问题,可不晓得是高手不出面,还系这些技术论坛里面热心滴人太少了,挂了好一个多月了,都米有人能够正面给出能够让偶看滴明白滴例子。有的也就是把MYSQL手册上滴一些说明帖在上面。。。看到这种场面真是让偶感到有些心寒,今天正好有空,重新再把这个一个多月前米有办法处理滴问题再次拿出

tv214的专栏 1422

mysql批量创建_mysql创建存储过程,批量00到99

--创建存储过程DELIMITER $$CREATE PROCEDURE `createTablesWithIndex`()BEGINDECLARE `@i` INT(11);DECLARE `@createSql` VARCHAR(2560);DECLARE `@createIndexSql1` VARCHAR(2560);DECLARE `@createIndexSql2` VARCHAR(...

weixin_34646919的博客 341

MYSQL批量创建存储过程

因为业务需要,创建了100个,但是这些的结构都是一样的,作为程序员,就是要解决这种重复劳动。然而这种事情还要单独写个php脚本的话太麻烦了吧,所以就干脆学了一下直接用Mysql存储过程怎么实现: 首先是创建的:(LPAD(`@i`, 2, '0')的作用 是将1,2,3这些数字转化为'01','02','03') DROP PROCEDURE IF EXISTS `creat...

weixin_33973600的博客 327
上一篇: mysql count()根据表达式统计数据
下一篇: MySQL子查询和join
Lingphper
博客等级 码龄12年 2粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值