mysql 如何统一修改数据表中全部表的前缀

在mysql中咱们能够使用ALTER命令来修改数据库表的名称,例如:mysql

ALTER TABLE test_test RENAME TO wj_test;

执行如上命令咱们就能够将数据库中的test前缀修改为wjsql

可是一个数据库中有人多的表,咱们一个一个的写这样的话是很浪费时间的,那么如何可以批量生成上面相似的命令,一次性批量将数据库中全部的表的前缀全都变动呢?数据库

这时候咱们能够使用select命令来查询到指定前缀的表,而后拼接成咱们上面的命令,这时候咱们就能够获得多条ALTER命令,这样咱们就能够一次性将数据库中全部的表前缀修改了编程

如:spa

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_%';

命令解释:code

将名称为test的数据库中全部包含test_表查询除了,并组合成以下结构:orm

ALTER TABLE 表名 RENAME TO 变动表名

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

image.png

将查询结果的命令一次执行后,咱们就能够将test中全部包含test前缀的表编程wj前缀rem

相关文章
相关标签/搜索