`

mySQL批量刪庫跑路存儲過程

 
阅读更多
模糊匹配存儲過程如下
DROP PROCEDURE IF EXISTS drop_databases;
CREATE PROCEDURE drop_databases(
    IN paramDBNamePrefix VARCHAR(32),
    IN paramDBNameSuffix VARCHAR(32)
)
BEGIN
    DECLARE _done INT DEFAULT 0;
    DECLARE _cursorValue VARCHAR(255);

    DECLARE _cursor CURSOR FOR SELECT SCHEMA_NAME FROM information_schema.SCHEMATA 
        WHERE SCHEMA_NAME LIKE @_paramDBName;
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET _done = 1;

    SET @_paramDBName = CONCAT("%", paramDBNamePrefix, "%", paramDBNameSuffix, "%");
    

    OPEN _cursor;
    REPEAT
        FETCH _cursor INTO _cursorValue;
        IF (_done <> 1) THEN
            SET @prepareStatement = CONCAT("DROP DATABASE ", _cursorValue);
            SELECT @prepareStatement;
            PREPARE stmt FROM @prepareStatement;
            EXECUTE stmt ;
            DEALLOCATE PREPARE stmt;
        END IF;
    UNTIL _done = 1 end REPEAT;
    CLOSE _cursor;
 END


参数有两个,分别是paramDBNamePrefix和paramDBNameSuffix表示待删除数据库的前缀和后缀,这两个参数会组成一个字符串’%paramDBNamePrefix%paramDBNameSuffix%’用作模糊查询的条件。

測試

call drop_databases(‘前綴’, ‘後綴’);
分享到:
评论

相关推荐

    Mysql从删库到跑路.pdf

    Mysql从删库到跑路.pdf

    MySQL创建存储过程批量插入10万条数据

    MySQL创建存储过程批量插入10万条数据 存储过程 1、首先防止主键冲突,我们清空表。 TRUNCATE table A_student; 2、编写存储过程 delimiter ‘$’; CREATE PROCEDURE batchInsert(in args int) BEGIN declare i int ...

    kettle批量导出mysql存储过程

    总结来说,Kettle批量导出MySQL存储过程涉及到的关键知识点有:Kettle的数据流设计、MySQL的存储过程、数据库元数据获取、循环控制、文件生成和命令行脚本的创建。熟练掌握这些技能,将有助于我们在数据库管理和维护...

    mysql批量修改语句

    mysql批量语句,传入list 批量修改mysql批量语句,传入list 批量修改mysql批量语句,传入list 批量修改

    mysql从删库到恢复

    在案例1中,我们看到一个模拟的删库恢复过程: 1. 首先,创建了一个名为`testlzj`的数据库,并填充了测试数据。 2. 接着,模拟误删除操作,使用`DROP DATABASE`命令删除`testlzj`库。 3. 要确定恢复的起点和终点,...

    MySQL DBA从入门到删库跑路

    MySQL DBA从入门到删库跑路课程基于前篇的基础课程升级而来,课程分为了数据库进阶实战课程和DBA运维实战教程部分,分别从更深入的角度进行课程学习,帮助同学们一次性吃透MySQL DBA课程。

    mysql批量增加字段.txt

    MySQL批量对表增加指定字段,会快速实现批量字段的添加。写了2个存储存储过程,执行即可。方便快速!

    mysql如何进行删数据库跑路

    mysql如何进行删数据库跑路

    mysql中文手册+mysql命令大全+mysql存储过程

    最后,"mysql存储过程.pdf"专注于MySQL的存储过程。存储过程是预编译的SQL语句集合,可以提高数据库操作的性能,减少网络流量,并增强数据安全。在PDF文档中,你将学习如何定义、调用和管理存储过程,以及如何使用...

    mysql批量导出建表语句.zip

    压缩包中的文件"mysql批量导出建表语句"很可能就是这个过程的结果,包含了由Kettle生成的所有建表语句。你可以打开这些文件查看具体的SQL语句,并在需要时在新的MySQL环境中执行它们以重新创建相同的数据库结构。 ...

    mysql批量修改(字段)列类型

    MySQL存储过程,一键批量修改一个表内的多个列(字段)类型。例如从int转换成varchar

    mysql存储过程教程

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列SQL语句并封装成一个可重复使用的单元,从而提高数据处理的效率和代码的复用性。本教程将深入探讨MySQL存储过程的创建、调用以及相关概念...

    mysql 批量更新及效率对比

    MySQL 批量更新的高效方法 MySQL 批量更新是指在 MySQL 数据库中批量更新多条记录的操作。这种操作在实际应用中非常常见,例如批量更新用户信息、订单状态等。然而,批量更新的效率问题一直是一个棘手的问题。近期...

    mysql批量建表

    利用mysql存储函数,方便快捷批量建立mysql数据库测试表

    Java实现调用MySQL存储过程详解

    总的来说,Java通过JDBC调用MySQL存储过程涉及到连接数据库、创建`CallableStatement`、执行存储过程和处理结果。这使得开发者能够在Java应用中灵活地利用数据库提供的强大功能,实现更高效的数据处理。

    MySQL存储过程的异常处理方法

    本实例展示了如何在MySQL存储过程中实现异常处理,以捕获并处理可能出现的错误。 首先,我们注意到在创建存储过程`myProc`时,使用了`delimiter $$`来改变MySQL客户端的语句分隔符,这是为了在存储过程中使用多个...

    深入浅析MySQL从删库到跑路_高级(一)——数据完整性

    在实际操作中,应谨慎处理数据,尤其是在执行删除操作时,以避免可能导致数据丢失或破坏数据完整性的行为,比如“删库跑路”这样的极端情况。因此,数据库管理策略和备份计划是保障数据安全的重要环节。

    MySQL实验报告5(存储过程与函数)(1)(1).pdf

    根据提供的文件内容,本篇实验报告主要围绕MySQL数据库中存储过程和函数的应用,涵盖了创建存储过程、函数、游标以及异常处理等高级特性。下面将详细解析报告中的每个知识点。 1. 创建存储过程 存储过程是一种在...

    MySQL存储过程学习

    MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列的SQL语句,形成一个可重复使用的代码块,以提高数据处理的效率和应用程序的性能。在这个"MySQL存储过程学习"的主题中,我们将深入探讨...

Global site tag (gtag.js) - Google Analytics