mysql使用Navicat批量更新表前缀

    技术2023-10-24  103

    首先在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; |
    Processed: 0.017, SQL: 11