共计 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 前缀
正文完