• 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()  执行

    最后会执行批量建表操作

  • 相关阅读:
    求数组元素出现的次数
    数组的一些内置方法
    二维数组
    创建对象
    取出数组最大值与最小值
    4-jQuery
    3-jQuery
    2-jQuery
    1-jQuery
    Spark共享变量(广播变量、累加器)
  • 原文地址:https://www.cnblogs.com/zyf-yxm/p/9995925.html
Copyright © 2020-2023  润新知