MySQL 批量删除相同前缀的表】的更多相关文章

sql 命令批量生成drop命令 需要批量删除表,而MySQL又没有提供相关的功能:一般我们建表也都会使用相同前缀,那么,在不使用工具的情况下可以选择使用sql生成批量删除命令: 如删除以 "wp_" 开头的表: SELECT CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables WHERE table_name LIKE 'wp_%'; 这是表放在MySQL默认库的情况,但是如果是放在自己的库中…
今天突然发现我们数据库中多出很多表,后缀名为"copy",预计是navicat直接拷贝导致的,然后要对这些有同样后缀名的表进行删除,假设一个一个选择会非常麻烦,表计较多,在网上找了找方法,网上主要通过sql语句来删除.自己在他的基础上写了一个php文件实现了批量删除表.事实上原理是一样的. 1.MYSQL批量删除 [1]获得批量删除的命令: Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.t…
原文:http://www.open-open.com/code/view/1446691883076 如果你网站后台没法运行mysql,就进phpmyadmin,然后运行一段代码.假如要删除织梦cms的dede_前缀的表,则运行 Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'dede_%'; 然后,会得一个查询列表,然后点击选择全部,并复…
Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'dede_%'; "dede"为要删除的表前缀,执行此SQL语句后会生成一串SQL语句,必须再执行生成的这些SQL语句才能真正执行删除操作 另外一个就是批量修改表名: Select CONCAT( 'ALTER TABLE ', table_name, 'RENAME TO ', ta…
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, '…
MySQL5.0 之后,提供了一个新的数据库information_schema,用来记录MySQL总的元数据信息.元数据指的是 数据的数据. 比如表名.列名.列类型.索引名等表的各种属性名称.这个库比较特殊,它是一个虚拟数据库,物理上并不存在相关的目录和文件.数据库里面 show tables 显示的各种表也并不是实际存在的物理表,全部是视图. 1.对于删除相同前缀的表,我们可以通过一下sql 来得到 可用的sql语句,执行之即可删除相同前缀的表了.(use information_schem…
mysql批量删除大量数据 假设有一个表(syslogs)有1000万条记录,需要在业务不停止的情况下删除其中statusid=1的所有记录,差不多有600万条, 直接执行 DELETE FROM syslogs WHERE statusid=1 会发现删除失败,因为lock wait timeout exceed的错误. 因为这条语句所涉及的记录数太多,因此我们通过LIMIT参数分批删除,比如每10000条进行一次删除,那么我们可以利用 MySQL这样的语句来完成: DELETE FROM s…
DECLARE @tablename VARCHAR(30),@sql VARCHAR(500)DECLARE cur_delete_table CURSOR READ_ONLY FORWARD_ONLY FORSELECT name FROM sysobjects WHERE name LIKE 'PUB%' AND type='U'OPEN cur_delete_tableFETCH NEXT FROM cur_delete_table INTO @tablenameWHILE @@FETC…
以下通过触发器批量删除数据库中的表,SQL2008已验证 DECLARE @Table NVARCHAR() DECLARE @Count Int = DECLARE tmpCur CURSOR FOR SELECT name FROM sys.objects WHERE TYPE='U' AND name LIKE N'temp_cost%' order by name OPEN tmpCur FETCH NEXT FROM tmpCur INTO @Table WHILE @@FETCH_S…
批量删除2000w数据 使用delete from table太慢 //DELIMITER DROP PROCEDURE if EXISTS deleteManyTable; create PROCEDURE deleteManyTable() BEGIN DECLARE i int; ; DO ) ; SELECT SLEEP(0.5); ; end while; END; //DELIMITER CALL deleteManyTable(); 参考文献: http://mysql.rjweb…