1. 程式人生 > 其它 >mysql 如何統一修改資料表中所有表的字首

mysql 如何統一修改資料表中所有表的字首

技術標籤:mysql

在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字首