mysql 批量删表】的更多相关文章

Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'jg_jgdx_qyjbxx_%';…
SQLSERVER:通过sys.tables实现批量删表,或者回滚表 begin try drop table #temp10 end try begin catch end catch select 'drop/*truncate*/ table dbo.'+name as droptable,ROW_NUMBER() over(order by name) as rownumber into #temp10 from sys.tables where name like 'member%'…
修改表名 ALTER TABLE 原表名 RENAME TO 新表名; 一句SQL语句只能修改一张表 show tables; 1. SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO db_', substring(table_name, ), ';' ) FROM information_schema. TABLES WHERE table_name LIKE 'ct%'; 批量复制一下到Notepad++中,只保留sql语句,再复制…
因为业务需要,创建了100个表,但是这些表的结构都是一样的,作为程序员,就是要解决这种重复劳动.然而这种事情还要单独写个php脚本的话太麻烦了吧,所以就干脆学了一下直接用Mysql存储过程怎么实现: 首先是创建表的:( LPAD(`@i`, 2, '0')的作用 是将1,2,3这些数字转化为'01','02','03') DROP PROCEDURE IF EXISTS `create_tables`; CREATE PROCEDURE create_tables () BEGIN ); ; D…
最近项目中用到了使用存储过程批量建表的功能,记录下来: USE db_test_3; drop procedure if EXISTS `createTablesWithIndex`; create procedure createTablesWithIndex() BEGIN ); ); ); ); ); ; DO -- `M_ID` bigint AUTO_INCREMENT PRIMARY KEY NOT NULL, -- 创建表 SET @createSql = CONCAT('CREA…
最近根据需求,需要提前创建一批日志表,以日期结尾,每天创建一张,例如XXX20160530,请参考如下: BEGIN    DECLARE `sName` VARCHAR(128);   DECLARE `sqlVar` VARCHAR(1024);  DECLARE `rest` INT;    set rest = 1; while rest > 0 do       set sTime = (select DATE_FORMAT((select ADDDATE(sTime,1)),'%Y%…
使用存储过程 BEGIN    DECLARE `@i` int(11);    DECLARE `@sqlstr` varchar(2560); SET `@i`=0; WHILE `@i` < 10 DO        SET @sqlstr = CONCAT(        "CREATE TABLE centralUser",        `@i`,        "(        code varchar(255),        userCode var…
error_reporting(0); $old_pre = 'tdr_'; // 原表前缀 $new_pre = 'db_'; // 新表前缀 // 配置连接 $db = new mysqli('127.0.0.1', 'db_user', 'db_pass', 'db_name'); if ($db->connect_error) die('Connect Error (' . $db->connect_errno . ') ' . $db->connect_error); $que…
一般访问量比较大的网站,请求日志表都是每天一张表独立创建. 业务需要为每张表都添加一个新列,纠结了半天,写了个存储过程如下: 日志表结构类型 tbl_ads_req_20140801, tbl_ads_req_20140802 ... DELIMITER //create procedure sp2()begindeclare sTime varchar(32);declare eTime varchar(32);declare sName varchar(128);declare lName…
生成修改的语句 SELECT CONCAT('ALTER TABLE ',table_name,' ENGINE=InnoDB;') FROM information_schema.tables WHERE table_schema='ambari' AND ENGINE='MyISAM';…
直接贴码: SELECT a.*, concat( 'alter table ', a.TABLE_NAME, ' rename ge_', SUBSTR( a.TABLE_NAME FROM INSTR(a.TABLE_NAME, '_') + 1 ), ';' ) FROM information_schema.`TABLES` a WHERE a.TABLE_SCHEMA = 'geekweb'; 查询出结果,复制最后一列.然后跑一遍就好了…
ALTER TABLE custom ADD contacts2 VARCHAR(50) NOT NULL DEFAULT '' COMMENT '客户联系人2',ADD phone2 VARCHAR(20) NOT NULL DEFAULT '' COMMENT '联系人2手机',ADD other_contact2 VARCHAR(50) NOT NULL DEFAULT '' COMMENT '联系人2其他联系方式(微信/QQ)',ADD contacts_position2 VARCHA…
今天突然发现我们数据库中多出很多表,后缀名为"copy",预计是navicat直接拷贝导致的,然后要对这些有同样后缀名的表进行删除,假设一个一个选择会非常麻烦,表计较多,在网上找了找方法,网上主要通过sql语句来删除.自己在他的基础上写了一个php文件实现了批量删除表.事实上原理是一样的. 1.MYSQL批量删除 [1]获得批量删除的命令: Select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.t…
sql 命令批量生成drop命令 需要批量删除表,而MySQL又没有提供相关的功能:一般我们建表也都会使用相同前缀,那么,在不使用工具的情况下可以选择使用sql生成批量删除命令: 如删除以 "wp_" 开头的表: SELECT CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables WHERE table_name LIKE 'wp_%'; 这是表放在MySQL默认库的情况,但是如果是放在自己的库中…
Mysql MyISAM数据库批量转换表引擎为Innodb 最近在做事物处理需要把表结构都改为带有支持事物的Innodb引擎格式, 把里面数据库 用户名.密码 等信息修改为你自己的,放在网站下运行即可.如果想把Innodb改为MyISAM修改里面的  engine='InnoDB'  部分代码. <?php /** * User: Yt * Date: 2016/2/25 0025 */ //连接数据库 $host='localhost'; $user='root'; //数据库用户名 $pas…
author:skate time:2014/09/28 Mysql怎样删除以"#sql-"开头的暂时表 现象:在重建索引后,发现Mysqlserver的磁盘空间快满了 在用例如以下命令重建索引 mysql> alter table skatetab add unique index(id, uid), drop primary key, add primary key(uid, id); 在重建索引的过程中,由于空间不足,导致Mysql server reboot,重新启动之后…
MySQL的奇怪的删表数据文件而表照样能打开 author:headsen  chen      2017-11-02   17:57:17 现象:删除一个正在运行的mysql数据库的表的数据文件:*.MYD,此时在数据库里仍然能查看到该表的数据,就算是运行 了flush  privileges 命令仍然能查看到该数据,一旦重启数据库,则该表的会报错. mysql> select count(*) from c5;+----------+| count(*) |+----------+| 245…
Mysql 批量更新update的表与表之间操作 一.方法一 使用User2表数据更新User表: update User as a ,User2 as b set a.role_id=b.set_value where a.role_id=b.set_key: 二.方法二 使用User2表数据更新User表: update User set_key=(SELECT name FROM User2 where id = User.set_value);  ; update Group  )) w…
在工业监控里面, 需要对每天的数据, 进行记录, 时间长了之后, 数据库很容易撑爆. 这时候, 如果允许, 可以对之前的数据进行一次清除, 只记录几个月内的数据. delimiter $ DROP PROCEDURE if exists p_clearOldData; /* g_date_limit 时间限制, 如 2019_08 , 则删除 该时间之前的表 g_date_length 时间格式的长度, 如 后缀时间是 2019_08, 则此处应该传 7 */ ) , in g_date_len…
执行步骤 1.用concat批量生成修改表名的语句 SELECT CONCAT( 'ALTER TABLE ', table_name, ' RENAME TO ', ,locate('_postfix',table_name)),'_new_postfix',';' ) FROM information_schema.tables Where table_name LIKE '%_postfix'; 2.将生成的语句执行一遍即可完成修改 ————————————————————————————…
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…
这里以sqlyong为软件示例: --创建存储过程DELIMITER $$ CREATE PROCEDURE `createTablesWithIndex`() BEGIN DECLARE `@i` INT(11); DECLARE `@createSql` VARCHAR(2560); DECLARE `@createIndexSql1` VARCHAR(2560); DECLARE `@createIndexSql2` VARCHAR(2560); DECLARE `@createIndex…
MySQL 表锁和行锁机制 行锁变表锁,是福还是坑?如果你不清楚MySQL加锁的原理,你会被它整的很惨!不知坑在何方?没事,我来给你们标记几个坑.遇到了可别乱踩.通过本章内容,带你学习MySQL的行锁,表锁,两种锁的优缺点,行锁变表锁的原因,以及开发中需要注意的事项.还在等啥?经验等你来拿! MySQL的存储引擎是从MyISAM到InnoDB,锁从表锁到行锁.后者的出现从某种程度上是弥补前者的不足.比如:MyISAM不支持事务,InnoDB支持事务.表锁虽然开销小,锁表快,但高并发下性能低.行锁…
当您的库中删除了大量的数据后,您可能会发现数据文件尺寸并没有减小.这是因为删 除操作后在数据文件中留下碎片所致.optimize table 可以去除删除操作后留下的数据文件碎片,减小文件尺寸,加快未来的读写操作.您只要在做完批量删除,或定期(如 每一两个月)进行一次数据表优化操作即可. OPTIMIZE TABLE通过制作原来的表的一个临时副本来工作 OPTIMIZE TABLE语法OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE tbl_name [,…
昨天 Poppy 问我是不是应该学一些网页开发的东西, 我的回答是这样的: 今天花了点时间汇总了一些 MySQL 简单的命令. ======== 正文分割线 ======== 有哪些常见的数据库: Oracle MySQL SQL Server MongoDB Redis Hadoop 以下所有命令基于数据库 kis_blog 编写, 可以通过 Navicat 或者 DataGrip 亲自体验一下. 注: poppython.com 的数据库采用的是阿里云的 RDS 云数据库(MySQL); N…
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 问题 运行下面的这段Python代码,却总是无法更新数据: import pymysql conn=pymysql.connect( host = '127.0.0.1', user = 'yewen', passwd='YeWen.3306', port= 3306, db='test', charset='utf8mb4') cur = conn.cursor() sql…
前言:django1.8版本出现这种问题,关于标题不好命令,直接看正文问题描述! 问题描述: 在已经生成了models.py中表的情况下,更改了modes.py中的表,但是syncdb不起作用报错.于是我用了个死方法,登录MySQl手动把表删了,也删了应用中migrations文件夹,然后再进行 makemigrations , migrate 和 syncdb,但是去mysql中查看并没有创建相应的表. 后台登录显示: ProgrammingError at /admin/home/artic…
批量更新 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: 代码如下: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value'; 如果更新同一字段为同一个值,mysql也很简单,修改下where即可: 代码如下:  UPDATE mytable SET myfield = 'value' WHERE other_field in ('other_values');  这里注意 ‘other_val…
问题分析 问题一:要求日志最好入库:但是,直接入库mysql确实扛不住,批量入库没有问题,done.[批量入库和直接入库性能差异] 问题二:批量入库就需要有高并发的消息队列,决定采用redis list 仿真实现,而且方便回滚. 问题三:日志量毕竟大,保存最近30条足矣,决定用php写个离线统计和清理脚本. 一.设计数据库表和存储 考虑到log系统对数据库的性能更多一些,稳定性和安全性没有那么高,存储引擎自然是只支持select insert 没有索引的archive.如果确实有update需求…
2013.0106 innodb数据库批量转换表引擎为MyISAM 来源:本站原创 PHP, 数据库, 系统技术 超过488名童鞋围观 1条评论  <?php //连接数据库 $host='localhost'; $user='mysql_username'; //管理账户 $passwd='mysql_password'; //密码 $db='wordpressdb'; //数据库名称 $link= mysql_connect($host,$user,$passwd); if (!$link)…