zoukankan      html  css  js  c++  java
  • MySQL两步删除多个同名前缀(后缀)的表(已经260000张表删除的实战)

    本文以前缀为例子,该记录是为了删除因为误操作等造成大量同名的数据表时候所执行的语句;

    例如在a数据库下,存在下表:

    aaa_112345;

    aaa_212345;

    aaa_313245;

    aaa_412345;

    aaa_512314;

    ......

    现在需要将这些表全部删除,步骤:

    1、添加配置选项到my.ini文件,若原来有此配置,则暂时注释,该配置是为了让生成的文件的默认存储位置发生改变:

      secure-file-priv=""

    2、重启数据库

    3、登录数据库查看配置是否生效:

    mysql> show variables like '%secure%';

     当查询结果如上时,配置成功。

    此时再执行的生成文件路径为:use 库名 使用的库所在下的路径mysql/data/库名/文件。

    4、use到所在的数据库后,执行如下语句,将需要删除的表文件生成到文件内:

    select concat ('drop table ',table_name,';') from information_schema.tables where table_name like 'status%' into outfile '1.sql';

    解析:

    1select concat ('drop table ',table_name,';') from information_schema.tables where table_name like 'status%'

    匹配表名为status的表,并打印。

    (2)当“into outfile '1.sql' ”单独使用时的完整语句如下:

    select * from  (表名) into outfile '1.sql' ;

    将查询的结果输出到文件1.sql。

    5、此时将生成的文件导入:

    source 1.sql

    则可以完成以表明为条件删除多个同名表的操作。

    感谢大神文档分享。

    参考来源:

    (1)http://www.yayihouse.com/yayishuwu/chapter/2707

    (2)https://blog.csdn.net/weixin_44595372/article/details/88723191

  • 相关阅读:
    Android开发之Sqlite的使用
    ZOJ 3607 Lazier Salesgirl
    ZOJ 3769 Diablo III
    ZOJ 2856 Happy Life
    Ural 1119 Metro
    Ural 1146 Maximum Sum
    HDU 1003 Max Sum
    HDU 1160 FatMouse's Speed
    Ural 1073 Square Country
    Ural 1260 Nudnik Photographer
  • 原文地址:https://www.cnblogs.com/non2019/p/15488574.html
Copyright © 2011-2022 走看看