Mysql 批量删除前缀或者后缀表

oracl有drop table like 的用法,但是mysql没有,可以写脚本(不做赘述),也可以组装sql。

注意,我的数据库名字是test,有个表叫data,然后我准备四个有相同前缀的表,批量删除,准备数据可以用这条sql

CREATE TABLE test_1201 SELECT * FROM `data`;

CREATE TABLE test_1202 SELECT * FROM `data`;

CREATE TABLE test_1203 SELECT * FROM `data`;

CREATE TABLE test_1205 SELECT * FROM `data`;

SELECT CONCAT( ‘DROP TABLE ‘, GROUP_CONCAT(table_name) , ‘;‘ ) AS statement FROM information_schema.tables WHERE table_schema = ‘test‘ AND table_name LIKE ‘test_12%‘;

上边这条sql是显示一个sql结果,把上边执行出来的结果再执行一边就可以了。

(只要改table_schema(这是数据库的名字),跟table_name(这是数据表的名字)即可)

DROP TABLE test_1201,test_1202,test_1203;

时间: 2024-08-27 09:38:50

Mysql 批量删除前缀或者后缀表的相关文章

mysql批量删除指定前缀或后缀表

今天突然发现我们数据库中多出很多表,后缀名为"copy",预计是navicat直接拷贝导致的,然后要对这些有同样后缀名的表进行删除,假设一个一个选择会非常麻烦,表计较多,在网上找了找方法,网上主要通过sql语句来删除.自己在他的基础上写了一个php文件实现了批量删除表.事实上原理是一样的. 1.MYSQL批量删除 [1]获得批量删除的命令: Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.t

mysql进阶 十五 mysql批量删除大量数据

mysql批量删除大量数据 假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM syslogs WHERE statusid=1 会发现删除失败,因为lock wait timeout exceed的错误. 因为这条语句所涉及的记录数太多,因此我们通过LIMIT参数分批删除,比如每10000条进行一次删除,那么我们可以利用 MySQL这样的语句来完成: DELETE FROM s

Mysql批量删除和修改某个前缀的表

1.批量删除某个前缀的表名,首先选出这些个表. select concat( 'drop table ', table_name, ';' ) from information_schema.tables Where table_name like 'dede_%'; 以上为删除date_为前缀的表,然后复制生成脚本运行即可完成删除. 2.修改某个前缀的表名 select concat( 'alter table ', table_name, 'rename to', table_name, '

MySQL批量删除表

overview 之前在工作中调试时建了一个每分钟执行一次的cron定时任务,每分钟均产生一个带时间信息的表名称,并忘了删除这个定时任务,待发现时已经有将近3000个新建的表了,由于单条单条地删除很慢,现需要批量删除这些带时间信息的表. theory&&measure theory 1 登陆mysql的information数据库,查找tables表,找出需要删除的表所在的数据库下的    所有符合时间要求的表名称 2 将查询出来的表名称拼接成drop table指令数据的形式,例如 dr

mysql批量删除表数据

2015-09-23 #delete_table_data.sh#批量删除mysql库中表数据 #!/bin/bash ### AUTHOR: Leo ### DATE: 2015/09/23 ### REV: 1.0 echo -e "Input the dbname you want to use: \c" read db mysql -uroot -ppro#pateo -e "use $db;show tables;"|grep -v Tables>t

MySQL批量删除指定前缀表

Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'dede_%';

mysql批量删除相同前缀的表格

如果你网站后台没法运行mysql,就进phpmyadmin,然后运行一段代码.假如要删除织梦cms的dede_前缀的表,则运行 Select CONCAT( 'drop table ', table_name, ';' )   FROM information_schema.tables   Where table_name LIKE 'dede_%'; 然后,会得一个查询列表,然后点击选择全部,并复制下来这一大串代码.重新点击你安装的程序所对应的数据库,然后点击上面的sql,运行复制下来的一段

mysql 批量删除表

<?php set_time_limit(0); $con = mysql_connect("localhost", "user", "pwd"); $dbname = "db"; if ($con) { if (mysql_select_db($dbname, $con)) { $sql = "SHOW TABLES WHERE Tables_in_$dbname LIKE 'prd_%';"; $

mysql批量删除数据库表

SELECT CONCAT( 'DROP TABLE ', GROUP_CONCAT(table_name) , ';' ) AS statement FROM information_schema.tables WHERE table_schema = 'video' AND table_name LIKE 't_c%';