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

49次阅读

共计 541 个字符,预计需要花费 2 分钟才能阅读完成。

在 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 前缀

正文完
 0