在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 变更表名
根据上面的命令,查询结构如下:
将查询结果的命令一次执行后,我们就可以将test中所有包含test前缀的表编程wj前缀