首页 > 数据库 >MySQL对所有的表增加一个biz_e varchar255,如何快速实现?

MySQL对所有的表增加一个biz_e varchar255,如何快速实现?

时间:2023-12-26 14:06:54浏览次数:43  
标签:cur 数据库 tableName varchar255 biz MySQL done DECLARE

-- 先在数据库中创建一个存储过程 DELIMITER //

MySQL对所有的表增加一个biz_e varchar255,如何快速实现?_存储过程

-- 先在数据库中创建一个存储过程
DELIMITER //

CREATE PROCEDURE AddBizEToTables()
BEGIN
    DECLARE done INT DEFAULT 0;
    DECLARE tableName VARCHAR(255);
    DECLARE cur CURSOR FOR
        SELECT table_name
        FROM information_schema.tables
        WHERE table_schema = 'tmp002';

    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;

    OPEN cur;

    read_loop: LOOP
        FETCH cur INTO tableName;
        IF done THEN
            LEAVE read_loop;
        END IF;

        -- 为每个表添加 biz_e 字段
        SET @alterTableSQL = CONCAT('ALTER TABLE ', tableName, ' ADD COLUMN biz_eid VARCHAR(255);');
        PREPARE stmt FROM @alterTableSQL;
        EXECUTE stmt;
        DEALLOCATE PREPARE stmt;
    END LOOP;

    CLOSE cur;
END //

DELIMITER ;

请记得将'你的数据库名'替换为实际的数据库名称。这个存储过程会遍历数据库中的所有表,并为每个表添加一个名为biz_e的VARCHAR(255)类型字段。

然后,你可以调用这个存储过程:

CALL AddBizEToTables();

同样,请在执行这些操作之前确保做好数据库备份,以防万一。

标签:cur,数据库,tableName,varchar255,biz,MySQL,done,DECLARE
From: https://blog.51cto.com/janeyork/8982817

相关文章

  • Mac安装Mysql5.7
    官网https://downloads.mysql.com/archives/community/下载Mysql5.7.31,再高5.7版本没有macOS选项安装安装完毕会弹出帐号密码这里要把密码记住,待会用mysqladmin重置密码时要用。启动mysql服务系统设置拉到最下面,启动mysql服务启动成功设置mysql服务端mysql命令别名aliasmysql=/usr......
  • mysql 配置主从复制
    主库配置#BinaryLogging.#log-binlog-bin=mysql-bin#[必须]启用二进制日志#ErrorLogging.log-error="mysql-error.log"#ServerId.server-id=200#不同步的数据库,可设置多个binlog-ignore-db=information_schemabinlog-ignore-db=performance_schemabinlo......
  • 什么是 MySQL JDBC 连接池中最高效的连接检测语句?
    在回答这个问题之前,首先我们看看MySQL中有哪些常用的JDBC连接池:c3p0DBCPDruidTomcatJDBCPoolHikariCP这些连接池中,这些连接池中,c3p0是一个老牌的连接池,很多流行框架,在其老版本中,都将c3p0作为默认的连接池。DBCP和TomcatJDBCPool(Tomcat的默认连接池)是Apache......
  • MySQL8.0 OCP 103
    Choosethree.Whichthreerequirementsmustbeenabledforgroupreplication?对于组复制,必须启用哪些三个要求?A)replicationfiltersB)semi-syncreplicationpluginC)slaveupdateslogging更新日志记录D)binarylogchecksumE)primarykeyorprimarykeyequ......
  • Mysql报语法错误,排查竟然花了一个钟!!!!
    背景:最近协助远程同事开发一个功能,我调用同事写的接口,发现报错,,同事正在处理其他事情,暂时无暇顾及。遂自行解决。查看日志发现,发现一个inser语句报语法错误。解决过程:1、找到报错的日志,查看sql。如果没有,打开mybatis-plus日志输出。2、将sql复制出来在mysql客户端模拟执行,发现sql......
  • MySQL查询慢,四种方案帮你解决!
    一般分页在系统中需要进行分页操作时,我们通常会使用LIMIT加上偏移量的方式实现,语法格式如下。SELECT...FROM...WHERE...ORDERBY...LIMIT...在有对应索引的情况下,这种方式一般效率还不错。但它存在一个让人头疼的问题,在偏移量非常大的时候,也就是翻页到很靠后的页面......
  • MYSQL 事务
    事务定义事务就是一组数据库操作序列(包含一个或多个sql操作命令),事务会把所有操作看作是一个不可分割的整体向数据库系统提交或撤销操作,所有操作要么都执行,要么都不执行。事务是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时,事务是最小的控制单元。事务适用于多用户......
  • Mysql如何查看操作记录
     分为文件记录日志和数据库记录日志两种方式,效果相同一、文件记录数据库操作日志首先进入mysql输入指令showvariableslike'gen%';general_log是开启还是关闭状态,以及这个帐号的general_log文件在哪如果没有开启,请先设置开启setglobalgeneral_log=ON;查看log:cat/目录......
  • MySQL的事务(看看也许有帮助呢)
    MySQL的事务一、事务的概念在MySQL中,只有InnoDB存储引擎才支持事务。事务的处理用来维护数据库数据的完整性,保证同一个事务里的一批SQL语句,要么全部执行,要么全部不执行。事务用来管理DDL、DML、DCL操作,比如insert、update、delete语句,默认自动提交,即执行SQL语句后会马上执行co......
  • MySql之json_extract函数处理json字段
    转自:链接:https://juejin.cn/post/7103482347894358046 MySql之json_extract函数处理json字段在db中存储json格式的数据,相信大家都或多或少的使用过,那么在查询这个json结构中的数据时,有什么好的方法么?取出String之后再代码中进行解析?接下来本文将介绍一下Mysql5.7+之后提供的......