mysql使用Navicat批量更新表前缀

首先在Navicat的工具菜单里打开命令行
然后执行查询,def是现在的表前缀,abc是要修改成的表前缀

SELECT
	CONCAT(
		'ALTER TABLE ',
		table_name,
		' RENAME TO abc_',
		substring(table_name, 5),
		';'
	) sqls
FROM
	information_schema.tables Where table_name LIKE 'def_%';

然后会得到

 ALTER TABLE cmf_asset RENAME TO ybus_asset;                           
 ALTER TABLE cmf_auth_access RENAME TO ybus_auth_access;               
 ALTER TABLE cmf_auth_rule RENAME TO ybus_auth_rule;                   
 ALTER TABLE cmf_comment RENAME TO ybus_comment;                       
 ALTER TABLE cmf_hook RENAME TO ybus_hook;                             
 ALTER TABLE cmf_hook_plugin RENAME TO ybus_hook_plugin;               
 ALTER TABLE cmf_link RENAME TO ybus_link;                             
 ALTER TABLE cmf_nav RENAME TO ybus_nav;                               
 ALTER TABLE cmf_nav_menu RENAME TO ybus_nav_menu;                     
 ALTER TABLE cmf_new_route RENAME TO ybus_new_route;                   
 ALTER TABLE cmf_option RENAME TO ybus_option;                         
 ALTER TABLE cmf_plugin RENAME TO ybus_plugin;                  

复制之后继续在命令行里执行就好了,有版本会是这样,把符号‘|’去掉然后执行就行了

| ALTER TABLE cmf_role_user RENAME TO ybus_role_user;                   |
| ALTER TABLE cmf_route RENAME TO ybus_route;                           |
| ALTER TABLE cmf_slide RENAME TO ybus_slide;                           |
| ALTER TABLE cmf_slide_item RENAME TO ybus_slide_item;                 |
| ALTER TABLE cmf_theme RENAME TO ybus_theme;                           |
| ALTER TABLE cmf_theme_file RENAME TO ybus_theme_file;                 |
| ALTER TABLE cmf_third_party_user RENAME TO ybus_third_party_user;     |
posted @ 2020-07-03 16:38  Twoknives_li  阅读(292)  评论(0)    收藏  举报