mysql 批量删表

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

原文地址:https://www.cnblogs.com/Ai-Hen-Jiao-zhi/p/11634563.html

时间: 2024-10-21 22:12:55

mysql 批量删表的相关文章

SQLSERVER:通过sys.tables实现批量删表、快速统计多表记录和

SQLSERVER:通过sys.tables实现批量删表,或者回滚表 1 begin try 2 drop table #temp10 3 end try 4 begin catch 5 end catch 6 7 select 'drop/*truncate*/ table tuning.'+name as droptable,ROW_NUMBER() over(order by name) as rownumber 8 into #temp10 9 from sys.tables where

MYSQL批量修改表前缀与表名sql语句

修改表名 ALTER TABLE 原表名 RENAME TO 新表名; 一句SQL语句只能修改一张表 show tables; 1. SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO db_', substring(table_name, 4), ';' ) FROM information_schema. TABLES WHERE table_name LIKE 'ct%'; 批量复制一下到Notepad++中,只保留sql语句,再复

MYSQL批量创建表的存储过程

因为业务需要,创建了100个表,但是这些表的结构都是一样的,作为程序员,就是要解决这种重复劳动.然而这种事情还要单独写个php脚本的话太麻烦了吧,所以就干脆学了一下直接用Mysql存储过程怎么实现: 首先是创建表的:( LPAD(`@i`, 2, '0')的作用 是将1,2,3这些数字转化为'01','02','03') DROP PROCEDURE IF EXISTS `create_tables`; CREATE PROCEDURE create_tables () BEGIN DECLAR

Mysql 批量建表存储过程

最近项目中用到了使用存储过程批量建表的功能,记录下来: USE db_test_3; drop procedure if EXISTS `createTablesWithIndex`; create procedure createTablesWithIndex() BEGIN DECLARE `@i` int(11); DECLARE `@createSql` VARCHAR(2560); DECLARE `@createIndexSql1` VARCHAR(2560); DECLARE `@

mysql 批量删数据并且整理表碎片

DROP PROCEDURE IF EXISTS prc_del_loop;CREATE PROCEDURE prc_del_loop()BEGINDECLARE v_count INT ;DECLARE v_data_free INT;my_del_loop:LOOP delete from t_data where adress = '苏州日志分析苏州日志分析' limit 10000;select count(1) into v_count from (select * from t_da

MySQL批量删除表

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

mysql批量增加表中新列存储过程

一般访问量比较大的网站,请求日志表都是每天一张表独立创建. 业务需要为每张表都添加一个新列,纠结了半天,写了个存储过程如下: 日志表结构类型 tbl_ads_req_20140801,  tbl_ads_req_20140802 ... DELIMITER // create procedure sp2() begin declare sTime varchar(32); declare eTime varchar(32); declare sName varchar(128); declare

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批量复制表数据到另外几张表的写法

delimiter // create procedure oneKey(in newNames varchar(1000),in oldName varchar(250),in id INT,in count INT) BEGIN declare num int; -- 定义变量给循环使用 set num = 0; while num < count do SET @sqlStmt = CONCAT('insert into ', -- 要动态修改表名需要concat()方法 substrin