资讯动态 news



mysql批量更新表名的前缀

发布于:2019-02-15 21:31   浏览:
一个一个修改表名是一件麻烦事,尤其是在表很多的情况下。那么有简单方式吗?
SELECT
 CONCAT(
  'ALTER TABLE ',
  table_name,
  ' RENAME TO ms_',
  substring(table_name, 5),
  ';'
 ) sqls
FROM
 information_schema.tables Where table_name LIKE 'ms_%';
这样就会输出:
ALTER TABLE ms__ad RENAME TO ms_ad;
ALTER TABLE ms__ad_position RENAME TO ms_ad_position;
ALTER TABLE ms__address RENAME TO ms_address;
ALTER TABLE ms__admin RENAME TO ms_admin;
ALTER TABLE ms__attribute RENAME TO ms_attribute;
ALTER TABLE ms__attribute_category RENAME TO ms_attribute_category;
把结果拷贝出来,直接执行即可。
---------------------
但是要注意的是,如果数据库里有多个dedecms的网站的数据库,这个查询会列出所有的数据表,有可能会误操作其它的数据表