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
    

      

  • 相关阅读:
    【POJ】[1703]Find them, Catch them
    【杭电】[2717]Catch That Cow
    【杭电】[2717]Catch That Cow
    【杭电】[1716]排列2
    【杭电】[1716]排列2
    【杭电】[2084]数塔
    【杭电】[2084]数塔
    【杭电】[1003]Max Sum
    【杭电】[1003]Max Sum
    [leetcode]117. Populating Next Right Pointers in Each NodeII用next填充同层相邻节点
  • 原文地址:https://www.cnblogs.com/gfbzs/p/15588727.html
Copyright © 2011-2022 走看看