建库函数:

CREATE DEFINER=`root`@`%` PROCEDURE `createdatabases`()
BEGIN
DECLARE str varchar(40);
DECLARE Done INT DEFAULT 0;
DECLARE rs CURSOR FOR SELECT TENANTCODE FROM sys_tenant where TENANTCODE<>'incontrol';
/* 异常处理 */
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET Done = 1;
/* 打开游标 */
OPEN rs;
/* 逐个取出当前记录userId字段的值*/
FETCH NEXT FROM rs INTO str;
/* 遍历数据表 */
REPEAT#CREATE DATABASE str CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;SET @strsql = CONCAT('CREATE DATABASE  if not exists ',str,' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci');## 预处理需要执行的动态SQL,其中stmt是一个变量PREPARE stmt FROM @strsql;  ## 执行SQL语句EXECUTE stmt;  ## 释放掉预处理段deallocate prepare stmt;
FETCH NEXT FROM rs INTO str;
UNTIL Done END REPEAT;
/* 关闭游标 */
CLOSE rs;
END

建表函数:

CREATE DEFINER=`root`@`%` PROCEDURE `addtable`()
BEGINDECLARE str varchar(40);
DECLARE Done INT DEFAULT 0;
DECLARE rs CURSOR FOR SELECT TENANTCODE FROM sys_tenant WHERE TENANTCODE!='incontrol';
/* 异常处理 */
DECLARE CONTINUE HANDLER FOR 1243 SET Done = 0;
DECLARE CONTINUE HANDLER FOR 1146 SET Done = 0;
/* 打开游标 */
OPEN rs;
/* 逐个取出当前记录userId字段的值*/
FETCH NEXT FROM rs INTO str;
/* 遍历数据表 */
REPEATSET @strsql = CONCAT("CREATE TABLE " ,str,".`sys_module_operation_record` (`ID` varchar(36) NOT NULL COMMENT '主键',`CODE` varchar(100) DEFAULT NULL COMMENT '编号',`EVENTTIME` datetime DEFAULT NULL COMMENT '事件时间',`OPERATIONUSERID` varchar(36) DEFAULT NULL COMMENT '操作用户ID',`OPERATIONUSERNAME` varchar(50) DEFAULT NULL COMMENT '操作用户名称',`EVENTTYPE` varchar(50) DEFAULT NULL COMMENT '事件类型',`EVENTTYPENAME` varchar(50) DEFAULT NULL COMMENT '事件类型名称',`EVENTDESCRIBE` varchar(300) DEFAULT '' COMMENT '事件描述',`TABLENAME` varchar(100) DEFAULT NULL COMMENT '关联主表',`IP` varchar(50) DEFAULT NULL COMMENT 'IP',`OPURL` varchar(200) DEFAULT NULL COMMENT 'URL',`CLIENTINFO` varchar(200) DEFAULT NULL COMMENT '客户端',`ISMOBILE` varchar(20) DEFAULT NULL COMMENT '是否移动端',`ROPTION` text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '扩展json格式配置',`DELETED` char(1) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '0' COMMENT '是否删除Y/N',`REMARK` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '备注',`CREATEDATE` datetime DEFAULT NULL COMMENT '创建时间',`CREATEUSERID` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '创建用户ID',`MODIFYDATE` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改日期',`MODIFYUSERID` varchar(36) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '修改用户ID',`CREATEUSERNAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '创建人名称',`MODIFYUSERNAME` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '修改人名称',PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='日志记录';");## 预处理需要执行的动态SQL,其中stmt是一个变量PREPARE stmt FROM @strsql;  ## 执行SQL语句EXECUTE stmt;  ## 释放掉预处理段deallocate prepare stmt;
FETCH NEXT FROM rs INTO str;
UNTIL Done END REPEAT;
/* 关闭游标 */
CLOSE rs;END

加字段函数:

CREATE DEFINER=`root`@`%` PROCEDURE `adddatabaseclumn`()
BEGIN
DECLARE str varchar(40);
DECLARE Done INT DEFAULT 0;
DECLARE rs CURSOR FOR SELECT TENANTCODE FROM sys_tenant WHERE TENANTCODE!='incontrol';
/* 异常处理 */
DECLARE CONTINUE HANDLER FOR 1243 SET Done = 0;
DECLARE CONTINUE HANDLER FOR 1146 SET Done = 0;
/* 打开游标 */
OPEN rs;
/* 逐个取出当前记录userId字段的值*/
FETCH NEXT FROM rs INTO str;
/* 遍历数据表 */
REPEAT#alter table wf_run_task add COLUMN AUDITTIMELIMIT datetime COMMENT '审批时限';SET @strsql = CONCAT('alter table ',str,'.wf_run_task add COLUMN AUDITTIMELIMIT datetime COMMENT \'审批时限\'');## 预处理需要执行的动态SQL,其中stmt是一个变量PREPARE stmt FROM @strsql;  ## 执行SQL语句EXECUTE stmt;  ## 释放掉预处理段deallocate prepare stmt;
FETCH NEXT FROM rs INTO str;
UNTIL Done END REPEAT;
/* 关闭游标 */
CLOSE rs;
END

MySQL函数批量建库、建表、加字段相关推荐

  1. SqlService基础一篇搞定(建库建表、插入数据、修改和删除数据、基础查询、条件查询、模糊查询、聚合函数、分组查询、多表查询)

    SqlService基础知识总汇 前言 一.SQLSERVER建库建表 1.检查数据库名是否存在 2.创建数据库 3.建表 4.修改表结构 5.删除添加约束 二.SQLSERVER插入数据 1.向部门 ...

  2. Mysql 数据库实战-建库-建表-查多表

    前文:MySql数据库基本概念 数据库 DataBase(数据库),存储数据的仓库. 第一方或第三方提供的图形化界面的客户端(DBeaver,Mariadb) 在Mysql中创建若干个数据库,每个数据 ...

  3. MySQl建库建表及增删改查

    通过可视化工具建库建表 创建数据库 CREATE DATABASE studb2 CHAR SET utf8; 切换数据库(使用use 将数据库切换到 studb2) USE studb2 ; 在st ...

  4. mysql exercise --- one 建库建表练习参考

    建库建表操作练习 1 .表名 User Name Tel Content Date 张三 133******** 大专毕业 2006-10-11 张三 136******** 本科毕业 2006-10 ...

  5. 通过flyway实现项目启动自动建库建表

    目录 前言 代码实现 添加依赖 sql文件命名方式也有讲究 代码配置 启动建库 前言 我之前研究过一个开源论坛项目,pybbs,他代码下载下来直接启动会自动建库建表,所以我拿过来研究一下(不难),这样 ...

  6. hive:建库建表、表分区、内部表外部表、数据导入导出

    hive建库建表与数据导入 建库 hive中有一个默认的库: 库名: default 库目录:hdfs://hdp20-01:9000/user/hive/warehouse 新建库: create  ...

  7. 数据库的实例化操作——员工信息的查询——建库建表录入信息(一)

    数据库的实例化操作--建库建表录入信息. 本文章共分为三部分,通过建立员工部门的信息来熟练掌握数据库的单表查询.多表查询. 员工信息如下: Dept表(部门) Dept部门表结构 字段 类型 描述 d ...

  8. mysql表copy锁表吗_MySQL锁(二)表锁:为什么给小表加字段会导致整个库挂掉?...

    概述 表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分MySQL引擎支持.最常使用的MYISAM与INNODB都支持表级锁定.表级锁定分为表共享 ...

  9. mysql新增字段会锁表_MySQL锁(二)表锁:为什么给小表加字段会导致整个库挂掉?...

    概述 表级锁是MySQL中锁定粒度最大的一种锁,表示对当前操作的整张表加锁,它实现简单,资源消耗较少,被大部分MySQL引擎支持.最常使用的MYISAM与INNODB都支持表级锁定.表级锁定分为表共享 ...

  10. SQL Server建库建表命令

    数据库建库建表 1.直接右键数据库,选择新建数据库: 2.通过新建查询,输入命令建库建表. 使用CREATE DATABASE创建数据库school. 数据文件的逻辑名称自定义,需要注意的点是主数据文 ...

最新文章

  1. Java 程序员都该懂的 HashMap
  2. 提高oracle查询效率
  3. html 音乐播放透明,HTML如何设置video为不透明背景
  4. SQL Server创建存储过程
  5. 指令系统——数据存放、指令寻址(详解)
  6. php冒泡 插入选择 排序,说说PHP数组的三种排序(冒泡/选择/插入)方法
  7. 基于fitter库判断已知数据服从分布——python
  8. HTML的基本知识(六)——表格的基本属性之实现个人简历
  9. 支持的存储类型有_跟我一起看博途1200系统手册之数据类型的介绍
  10. 使用工具安装,运行,停止,卸载Window服务
  11. 设计模式---003代理模式---【巷子】
  12. 老男孩linux运维50期-谢江平
  13. 如何彻底删除或卸载迈克菲软件
  14. (Android7.0) init.rc与AIL(Android Init Language)语句
  15. syn重发_疑难杂症之被丢弃的SYN包
  16. 中文字体压缩器并且转换(推荐阅读)
  17. 怎样建立产品体系?(五)- 产品生命周期
  18. SQL语法创建及管理数据表结构
  19. 【pytorch】 grad、grad_fn、requires_grad()、with torch.no_grad() 、net.train()、net.eval():记录一次奇怪的debug经历
  20. 自研·学术·文献查找

热门文章

  1. html input粘贴功能,原生js实现复制粘贴功能
  2. 苹果电脑入门:复制、粘贴、剪切文件
  3. java实现计算器功能_用java实现计算器功能
  4. python填充excel单元格颜色_使用python3+openpyxl模块对excel表格进行背景颜色的填充...
  5. lisp如何将度分秒转换为弧度_1/16怎么转换成角度(度分秒)??
  6. php smtp.163 端口号,常用的邮箱服务器(SMTP、POP3)地址、端口
  7. 常用接口整理(HDMI接口、VGA接口、DP接口、DVI接口、SDI接口 ) 2021-06-15
  8. 详解 Redis 中布隆过滤器解决缓存穿透问题
  9. [读史思考]北宋历史上几个外行项目经理
  10. 微信商户支付平台微信支付怎么开通