MySQL删除相同前缀的表,修改某个库的存储引擎

MySQL5.0 之后,提供了一个新的数据库information_schema,用来记录MySQL总的元数据信息。元数据指的是 数据的数据。 比如表名、列名、列类型、索引名等表的各种属性名称。这个库比较特殊,它是一个虚拟数据库,物理上并不存在相关的目录和文件。数据库里面 show tables 显示的各种表也并不是实际存在的物理表,全部是视图。

 1.对于删除相同前缀的表,我们可以通过一下sql 来得到 可用的sql语句,执行之即可删除相同前缀的表了。(use information_schema)

  Select CONCAT( 'drop table ', table_name, ';' ) from information_schema.tables where table_name like '表前缀%' and table_schema = '表名'

  eg: 删除 数据库test前缀为   ‘ra_’  的 表

  SELECT CONCAT('drop table test.' ,table_name,';') FROM TABLES WHERE TABLE_SCHEMA = 'test' AND table_name LIKE 'ra_%'

   得到如下sql:

  

  复制 执行即可,

  2.修改某个数据的存储引擎

  SELECT CONCAT ('alter table  test1.',table_name,' engine=myisam;') FROM TABLES WHERE table_schema='test' AND ENGINE='innodb'

  将test 数据库 的 存储殷勤修改为 myisam ,原来 是 innodb。得到 

   复制执行即可。

 

 

 

 

 

 

 

本文链接 :http://www.cnblogs.com/guixiaoming/p/6396763.html

posted @ 2017-02-14 11:07  fredgui  阅读(532)  评论(0编辑  收藏  举报