MySQL动态创建表,数据分表的存储过程
2023-06-13 09:14:30 时间
BEGIN
DECLARE`@i`int(11);
DECLARE`@siteCount`int(11);
DECLARE`@sqlstr`VARCHAR(2560);
DECLARE`@sqlinsert`VARCHAR(2560);//以上声明变量
SELECTCOUNT(0)into`@siteCount`FROMtbl_base_site;//计算表tbl_base_site的记录总条数
set`@i`=1;
WHILE(`@i`-1)*300<`@siteCount`DO//while循环执行
SET@sqlstr=CONCAT("CREATETABLEtbl_base_syslog",`@i`,"(syslog_idINT(11)AUTO_INCREMENTPRIMARYKEY,
create_userVARCHAR(32),
descriptiontext,
create_timedatetime,
site_idINT(11),
ipVARCHAR(64),
version_idSMALLINT(2),
module_identityVARCHAR(64),
right_nameVARCHAR(64)
)");
preparestmtfrom@sqlstr;
executestmt;
//以上实现动态创建表
SET@sqlinsert=CONCAT("INSERTINTOtbl_base_syslog",`@i`,"(
syslog_id,
create_user,
description,
create_time,
site_id,
ip,
version_id,
module_identity,
right_name)
SELECTsyslog_id,
create_user,
description,
create_time,
site_id,
ip,
version_id,
module_identity,
right_name
FROMtbl_base_syslog
WHEREsite_idIN(selecttbs.site_idfrom(selectsite_idfromtbl_base_sitelimit",`@i`*300,",300)astbs)
ORDERBYsyslog_id");
preparestmtfrom@sqlinsert;
executestmt;
//以上实现从一张表查询记录插入到动态创建的新表中
SET`@i`=`@i`+1;
ENDWHILE;
END
相关文章
- MySQL数据库操作:实用工具箱(mysql数据库操作工具)
- MySQL中查找不存在的数据(mysql不存在的数据)
- MySQL双从技术:自动保护数据的正确启动方式(mysql双从)
- MySQL数据库的外键约束(mysql的外键约束)
- Mysql 性能优化:从评估开始(mysql性能评估)
- MySQL中构建交叉表的基本操作(mysql交叉表)
- MySQL修复表:快速恢复丢失数据(mysql修复表)
- MySQL快速查找表中的数据(mysql查找表中数据)
- MySQL数据存储:安全、可靠、可靠的存储方式(mysql数据存放)
- MySQL入门:SQL编程从零开始(mysql入门看什么书)
- 在线提升MySQL 性能——使用MySQL在线优化工具(mysql在线优化工具)
- MySQL统计实时访问量,提高数据可视化(mysql统计访问量)
- MySQL中的二进制数据存储原理(mysql二进制数据)
- MySQL中的数据导入与导出(mysql数据in)
- 不像 MySQL 的 MySQL:MySQL 文档存储介绍
- 使用MySQL实现网页数据存储与访问(mysql网页访问)
- 使用MySQL将数据导出为CSV格式的操作方法(mysql导出csv数据)
- 深入了解MySQL数据结构查看方法(mysql查看数据结构)
- 级MySQL处理千万级数据的优势(mysql千万)
- 使用MySQL数据库优化小程序的开发(mysql小程序)
- 构建可靠基础:阿里云RDS MySQL(阿里云rds mysql)
- 新增用户:MySQL中的操作指南(添加用户 mysql)
- MySQL数据库还原工具:轻松恢复数据一步到位(mysql 还原工具)
- MySQL分组实现数据多样化(mysql 分组)
- MySQL 五种主要存储引擎及其对比(mysql几种存储引擎)
- MySQL被CND启动,开启新纪元(cnd启动mysql)
- MySQL读写实现数据存取的极致之旅(c mysql读写)
- MySQL 求和聚合一列数据(mysql一列相加求和)
- MySQL存储多语言数据的首选数据库系统(mysql 一个汉字多岁)
- MySQL命令行下使用CMD登陆教程(mysql 、cmd登陆)
- 如何设置MySQL的下载路径(mysql 下载路径设置)
- 高效管理数据,轻松下载MySQL下载列表搞定(mysql 下载列表)
- MySQL记录时间精确至小时,上个小时数据呈现(mysql上个小时)
- MySQL连接出错不是本地数据库(mysql 不是本地)