您现在的位置是:网站首页>>数据库>>mysql

mysql 如何统一修改数据表中所有表的前缀

发布时间:2020-12-12 10:37:36作者:wangjian浏览量:251点赞量:0

    在mysql中我们可以使用ALTER命令来修改数据库表的名称,例如:

    ALTER TABLE test_test RENAME TO wj_test;

    执行如上命令我们就可以将数据库中的test前缀修改成wj

    但是一个数据库中有人多的表,我们一个一个的写这样的话是很浪费时间的,那么如何能够批量生成上面类似的命令,一次性批量将数据库中所有的表的前缀全都变更呢?

    这时候我们可以使用select命令来查询到指定前缀的表,然后拼接成我们上面的命令,这时候我们就可以得到多条ALTER命令,这样我们就可以一次性将数据库中所有的表前缀修改了

    如:

    SELECT
    CONCAT(
    'ALTER TABLE ',
    table_name,
    ' RENAME TO wj_',
    substring(table_name, 5),
    ';'
    )
    FROM
    information_schema. TABLES
    WHERE
    table_schema = 'test'
    AND table_name LIKE 'test_%';

    命令解释:

    将名称为test的数据库中所有包含test_表查询除了,并组合成如下结构:

    ALTER TABLE 表名 RENAME TO 变更表名

    根据上面的命令,查询结构如下:

    image.png

    将查询结果的命令一次执行后,我们就可以将test中所有包含test前缀的表编程wj前缀

0 +1