zoukankan      html  css  js  c++  java
  • 91、mysql批量删除表

    ## 存储过程实现
    drop PROCEDURE if EXISTS rush;
    create PROCEDURE rush()
    BEGIN 
    
    ## 创建临时表,插入快照数据
    drop table if exists drop_tb;
    create TEMPORARY table drop_tb(
    rowNum int not null,
    table_name VARCHAR(50) not null
    );
    insert into drop_tb       
          select @r := @r + 1 as rowNum,
                 table_name
          from information_schema.TABLES as a,(select @r := 0 )as t
          where table_schema = (select DATABASE())
    			
          and table_name like 'c%' ##这个地方填写以什么开头的数据
          order by a.table_name ;
    
    ## 存储过程实现
    drop PROCEDURE if EXISTS rush;
    create PROCEDURE rush()
    BEGIN 
    
    ## 创建临时表,插入快照数据
    drop table if exists drop_tb;
    create TEMPORARY table drop_tb(
    rowNum int not null,
    table_name VARCHAR(50) not null
    );
    insert into drop_tb       
          select @r := @r + 1 as rowNum,
                 table_name
          from information_schema.TABLES as a,(select @r := 0 )as t
          where table_schema = (select DATABASE())
    			
          and table_name like 'c%' ##这个地方填写以什么开头的数据
          order by a.table_name ;
    
    ## 变量设置
    set @index = 0;
    set @count = (select count(0) from drop_tb) ;
    
    ## 遍历删除前缀为 aopi_copy 的表
    WHILE @index <  @count DO
            
        set @index = @index + 1 ;
        set @tb_name = (
            select table_name from drop_tb as ibn
            where ibn.rowNum = @index
          ) ;
        
        set @drop_sql_tax = concat('drop table if exists ',@tb_name); 
          
        PREPARE distSQL FROM @drop_sql_tax ;
        EXECUTE distSQL;
        DEALLOCATE PREPARE distSQL ;
    
    END WHILE;
    
    drop table drop_tb;
    
    end ;
    
    call rush();
    
    drop PROCEDURE if exists rush;
    
    ## THE END
    
    ## 变量设置
    set @index = 0;
    set @count = (select count(0) from drop_tb) ;
    
    ## 遍历删除前缀为 aopi_copy 的表
    WHILE @index <  @count DO
            
        set @index = @index + 1 ;
        set @tb_name = (
            select table_name from drop_tb as ibn
            where ibn.rowNum = @index
          ) ;
        
        set @drop_sql_tax = concat('drop table if exists ',@tb_name); 
          
        PREPARE distSQL FROM @drop_sql_tax ;
        EXECUTE distSQL;
        DEALLOCATE PREPARE distSQL ;
    
    END WHILE;
    
    drop table drop_tb;
    
    end ;
    
    call rush();
    
    drop PROCEDURE if exists rush;
    
    ## THE END
    

      

  • 相关阅读:
    SQL code for the partitoned example
    去掉重复的列名.txt
    末公开的存储过程.txt
    LauncherClass
    Retina时代的前端视觉优化
    获得数据库中表字段的名字.txt
    StaticConstructor.cs
    UNION ALL实现的分级汇总示例.sql
    SignAndSeal
    在现有数据库上还原时的数据文件处理示例.sql
  • 原文地址:https://www.cnblogs.com/gfbzs/p/15588727.html
Copyright © 2011-2022 走看看