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, ‘;‘ ) from information_schema.tables Where table_name like ‘dede_%‘;

使用方法同上。

时间: 2024-12-22 08:19:55

Mysql批量删除和修改某个前缀的表的相关文章

php批量删除数据库下指定前缀的表

如何用php批量删除数据库下所有前缀为prefix_的表. 例子,统一删除前缀为"prefix_"的表. <?php //设置数据库连接信息.数据库服务器地址,数据库用户名,数据密码 mysql_connect('数据库主机','数据库用户名','数据库密码'); //设置查询的数据库名称 mysql_select_db('数据库名'); $rs=mysql_query('show tables'); while($arr=mysql_fetch_array($rs)) { ww

php怎么批量删除数据库下指定前缀的表?

如何用php批量删除数据库下所有前缀为prefix_的表. 例子,统一删除前缀为"prefix_"的表. <?php //设置数据库连接信息.数据库服务器地址,数据库用户名,数据密码 mysql_connect('数据库主机','数据库用户名','数据库密码'); //设置查询的数据库名称 mysql_select_db('数据库名'); $rs=mysql_query('show tables'); while($arr=mysql_fetch_array($rs)) { ww

批量删除和修改特定前缀的mysql表

批量删除特定前缀的表 第一步:拼装sql语句 Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'CA_%'; 第二步:把红框中内容选中复制粘贴执行即可 小技巧:为了不选中竖杆(|),Alt+鼠标左键是列选中,这样就可以选中红框中的内容 批量修改表前缀 第一步:拼装sql语句 select concat('alter table ',table_

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批量删除指定前缀或后缀表

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

StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改

前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey", "*key*"),然后再使用相关的方法进行相关的批量操作,但是如果缓存数据量比较大,效率低下,那么可以使用Lua脚本进行模糊查询的批量操作:ScriptEvaluate(LuaScript.Prepare(...)). 通过keys进行模糊查询后的批量操作 批量删除 1 var

MySQL批量删除表

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

批量删除指定数据库中的指定表

-- ---------------------------------------------------------------------------------------------------------- -- -- 1.查询:得到批量删除指定数据库中的指定表: -- 2.执行:将得到的结果复制下来,再重新执行: -- SELECT CONCAT( 'drop table ', table_name, '; ' ) FROM information_schema. TABLES W

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`;