• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL动态创建表,数据分表的存储过程

MySQL动态创建表,数据分表的存储过程

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-05

匿名通过本文主要向大家介绍了创建表,数据分表,存储过程等相关知识,希望本文的分享对您有所帮助

MySQL动态创建表,数据分表的存储过程,需要的朋友可以参考下。

代码如下:
BEGIN
DECLARE `@i` int(11);
DECLARE `@siteCount` int(11);
DECLARE `@sqlstr` VARCHAR(2560);
DECLARE `@sqlinsert` VARCHAR(2560); //以上声明变量
SELECT COUNT(0) into `@siteCount` FROM tbl_base_site; //计算表tbl_base_site的记录总条数
set `@i`=1;
WHILE (`@i`-1)*300<`@siteCount` DO //while循环执行
SET @sqlstr = CONCAT('CREATE TABLE tbl_base_syslog',`@i`,'(syslog_id INT(11) AUTO_INCREMENT PRIMARY KEY,
create_user VARCHAR(32),
description text,
create_time datetime,
site_id INT(11),
ip VARCHAR(64),
version_id SMALLINT(2),
module_identity VARCHAR(64),
right_name VARCHAR(64)
)');
prepare stmt from @sqlstr;
execute stmt;
//以上实现动态创建表
SET @sqlinsert = CONCAT('INSERT INTO tbl_base_syslog',`@i`,'(
syslog_id,
create_user,
description,
create_time,
site_id,
ip,
version_id,
module_identity,
right_name)
SELECT syslog_id,
create_user,
description,
create_time,
site_id,
ip,
version_id,
module_identity,
right_name
FROM tbl_base_syslog
WHERE site_id IN (select tbs.site_id from (select site_id from tbl_base_site limit ',`@i`*300,',300) as tbs)
ORDER BY syslog_id');
prepare stmt from @sqlinsert;
execute stmt;
//以上实现从一张表查询记录插入到动态创建的新表中
SET `@i`= `@i`+1;

END WHILE;
END
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • MYSQL删除表中的指定ID数据
  • mysql 事务处理及表锁定深入简析
  • mysql 表维护与改造代码分享
  • mysql复制中临时表的运用技巧
  • SQL语句详解 MySQL update的正确用法
  • mysql 锁表锁行语句分享(MySQL事务处理)
  • mysql SQL语句积累
  • mysql锁表和解锁语句分享
  • 用SQL语句解决mysql导入大数据文件的问题
  • MYSQL表优化方法小结 讲的挺全面

相关文章

  • 2018-12-05SQL Server 7.0 入门(三)
  • 2018-12-05Mysql学习总结(17)MySQL数据库表设计优化_MySQL
  • 2018-12-05php mysql连接数据库实例_MySQL
  • 2017-05-11MYSQL 修改root密码命令小结
  • 2017-05-11利用SQL注入漏洞拖库的方法
  • 2018-12-05Mysql相关操作有哪些
  • 2018-12-05SQL查询效率注意事项小结
  • 2017-08-07mysql 分页 count 查询效率低下分析
  • 2018-12-05用SQL得到全组合
  • 2018-12-05linux上mysql优化三板斧——CPU、内存、文件系统

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL与SQL注入与防注入的方法
    • 一个简单的SQL 行列转换语句
    • MySql5.7.14安装教程详解(解压版)_MySQL
    • 将count(*)值写入另一个表中的方法
    • 谈谈SQL查询字段被包含语句问题
    • 几个缩减MySQL以节省磁盘空间的建议
    • show engine innodb status显示信息不全如何解决
    • 浅谈MySQL漂流记(一)
    • mysql sql存储过程条件定义与处理
    • MySQL触发器使用

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有