• mysql创建存储过程,批量建表分表00到99


    这里以sqlyong为软件示例:

    --创建存储过程
    DELIMITER $$ CREATE PROCEDURE `createTablesWithIndex`() BEGIN DECLARE `@i` INT(
    11); DECLARE `@createSql` VARCHAR(2560); DECLARE `@createIndexSql1` VARCHAR(2560); DECLARE `@createIndexSql2` VARCHAR(2560); DECLARE `@createIndexSql3` VARCHAR(2560); DECLARE `@j` VARCHAR(10); SET `@i`=0; WHILE `@i`< 100 DO IF `@i` < 10 THEN SET `@j` = CONCAT(0,`@i`); ELSE SET `@j` = `@i`; END IF; -- `M_ID` bigint AUTO_INCREMENT PRIMARY KEY NOT NULL, -- 创建表 SET @createSql = CONCAT('CREATE TABLE IF NOT EXISTS table_',`@j`,'( `newsid` VARCHAR(255) NOT NULL , `classId` VARCHAR(255) DEFAULT NULL, `kindId` VARCHAR(255) DEFAULT NULL, `myOther` VARCHAR(255) DEFAULT NULL, `headTitle` VARCHAR(255) DEFAULT NULL, `content` VARCHAR(255) DEFAULT NULL, `connectRealtive` VARCHAR(255) DEFAULT NULL, `author` VARCHAR(255) DEFAULT NULL, `editor` VARCHAR(255) DEFAULT NULL, `newsFrom` VARCHAR(255) DEFAULT NULL, `top` VARCHAR(255) DEFAULT NULL, `newsTime` VARCHAR(255) DEFAULT NULL, `hits` VARCHAR(255) DEFAULT NULL, `state` VARCHAR(255) DEFAULT NULL, `tag` VARCHAR(255) DEFAULT NULL ) ' ); PREPARE stmt FROM @createSql; EXECUTE stmt; -- 创建索引 SET @createIndexSql1 = CONCAT('create index `newsid` on table_',`@j`,'(`newsid`);'); PREPARE stmt FROM @createIndexSql1; EXECUTE stmt; SET `@i`= `@i`+1; END WHILE; END

    最后新建一个查询

    CALL createTablesWithIndex()  执行

    最后会执行批量建表操作

  • 相关阅读:
    推荐vue脚手架工具 vue-cli
    React仿大众点评外卖app
    推荐一个react脚手架工具
    eclipse 中配置php的 XDebug调试
    再谈extjs4.1中gridpanel动态表头动态列
    控制extsj4.1 gridpanel表格行或者单元格的编辑
    windows8.1 app所有默认样式
    windows8.1 app样式定义使用
    windows8.1 app入门开发学习
    Silverlight Tools 语言不匹配问题
  • 原文地址:https://www.cnblogs.com/zyf-yxm/p/9995925.html
Copyright © 2020-2023  润新知