MySQL中利用RENAME TABLE快速高效重命名库(schema)

目前的MySQL中一旦创建的了新的库(schema)就无法对它进行重命名,所以如果需要对一个库重命名一般的做法是把目标库中的数据dump出来后导入想重命名的新库中,在MySQL的导入中是使用大量的insert,大量使用了DML,如果是大数据量的库那就很低效,其实在MySQL中可以利用RENAME TABLE这种DDL的方式来移动表数据后来重命名库,下面就简单的介绍一下。首先,RENAME TABLE使用方法很简单:

RENAME TABLE old_table TO new_table;

由此在平时就可以通过查询MySQL的information_schema.TABLES这张字典表获得相应目标库的数据,如在MySQL中有一个test的库需要重命名为test2:

CREATE DATABASE test2;#先建好test2

SELECT
    CONCAT('RENAME TABLE test.',TABLE_NAME,' TO test2.',TABLE_NAME,';') DDL
FROM
    information_schema.`TABLES`
WHERE
    TABLE_SCHEMA = 'test';
#生成test转移至test2的DDL后复制执行
DROP DATABASE test;#最后再删除旧库

不过需要注意的是该方式需要有一定的权限

原文地址:http://blog.51cto.com/jim123/2059628

时间: 2024-10-10 23:46:08

MySQL中利用RENAME TABLE快速高效重命名库(schema)的相关文章

[原创]MYSQL中利用外键实现级联删除和更新

MySQL中利用外键实现级联删除.更新 MySQL支持外键的存储引擎只有InnoDB,在创建外键的时候,要求父表必须有对应的索引,子表在创建外键的时候也会自动创建对应的索引.在创建索引的时候,可以指定在删除.更新父表时,对子表进行的相应操作,包括RESTRICT.NO ACTION.SET NULL和CASCADE.其中RESTRICT和NO ACTION相同,是指在子表有关联记录的情况下父表不能更新:CASCADE表示父表在更新或者删除时,更新或者删除子表对应记录:SET NULL则是表示父表

教你在Win10电脑中给照片快速批量重命名的方法

我们在win10系统电脑的使用中,有时候在一些工作上的小气叫可以帮助我们在工作中做到事半功倍的效果,有小伙伴想要实现在win10中批量给图片重命名的操作方法,今天小编就来把方法分享给大家,一起来看一下教你在Win10电脑中给照片快速批量重命名的方法. 具体的方法和详细的步骤如下: 1.把所有需要重命名的照片放入同一个文件夹中,例如"2016年10月连云港旅游留念",全部选中这些照片,然后在第一张照片上点右键选择"重命名": 2.重命名为"2016年10月连

在 mysql 中利用 Duplicate key, 一句话实现存在的更新不存在插入功能

mysql 中可以用一个sql命令实现在插入时,如果发现唯一索引重复的记录则自动改为更新语句, 语句如下: INSERT INTO radcheck (username,attribute,op,VALUE) VALUES ('tyson','Cleartext-Password',':=','123') on duplicate key update value='123'; 注意,radcheck 表中 username 和 attribute 列是个组合的唯一索引. alter table

Ubuntu中rename命令和批量重命名

直接在终端中输入rename+[Enter]可以看到该命令的格式: 早期版本的rename是C语言版本,如今新的Ubuntu中采用的都是perl版本,功能更加强大 Usage:rename [-v] [-n] [-f] perlexpr [filenames] -v(verbose)打印被成功重命名的文件 -n(no-act)只显示将被重命名的文件,而非实际进行重命名操作 -f(force)覆盖已经存在的文件 perlexprPerl语言格式的正则表达式 files需要被替换的文件(比如*.c.

利用php实现文件迁移重命名

首先表明,这是一个悲伤的故事. 暑假来临,学校安排我们到某软件外包公司实习,想想不用面试也是蛮方便的,可以借此机会向大牛学习学习,虽然没有工资(据说学校还交了600块的保险),但想想还是蛮期待的,但真正到公司就懵逼了~技术人员都不在好不好!职位都安排好了,什么人力资源,经营管理,还有财务管理之类,做培训的,但没有一个写代码的啊! 我被分到了经营管理部门,每天接触的是各种合同审批,合同扫描,合同盖章,合同...  总之围着合同团团转,打杂远远多于学习.想想如果没有我们那些公司的人也要处理如此重复无

利用python对大量图片进行重命名

1 # -*- coding:utf8 -*- 2 3 import os 4 5 class BatchRename(): 6 ''' 7 批量重命名文件夹中的图片文件 8 9 ''' 10 def __init__(self): 11 self.path = r'C:\Users\Administrator\Desktop\ss' #表示需要命名处理的文件夹 12 13 def rename(self): 14 #os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列

C#、asp.net中的一般处理程序.ashx文件重命名问题

这里简单说一下.net中,对一般处理程序文件xxx.ashx重命名的问题 事发原因,我在对aaa.ashx文件重命名为bbb.ashx时,页面中写好的ajax调用bbb.ashx时,调用不到了,找了一下,在bbb.ashx文件的目录下有2个文件:bbb.ashx.bbb.ashx.cs 打开bbb.ashx,发现 <%@ WebHandler Language="C#" CodeBehind="bbb.ashx.cs" Class="PengYuan

MySQL中比like语句更高效的写法locate position instr find_in_set

你是否一直在寻找比MySQL的LIKE语句更高效的方法的,下面我就为你介绍几种. LIKE语句 SELECT `column` FROM `table` where `condition` like`%keyword%' 事实上,可以使用 locate(position) 和 instr这两个函数来代替 LOCATE语句 SELECT `column` from `table` where locate('keyword',`condition`)>0 或是 locate 的別名 positio

Android中利用icodetools工具快速定位App破解中关键点方法

icodetools工具地址:https://github.com/fourbrother/icodetools 一.前言 在前面已经介绍了icodetools工具的实现原理和具体使用规则,关于这部分的知识点还不了解的同学可以去下面两篇文章详细查看:Android中注入代码工具icodetools原理篇,Android中注入代码工具icodetools完善篇.同时这个工具已经放到github上了,感兴趣的同学可以下载尝试各种app的代码注入功能. 那么有了这两篇文章之后,现在我得实际操作了,要动