Mysql按日分表如何实现批量修改表结构 mysql分表分库后如何修改批量修改表结构
生活随笔
收集整理的這篇文章主要介紹了
Mysql按日分表如何实现批量修改表结构 mysql分表分库后如何修改批量修改表结构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Mysql按日分表如何實現批量修改表結構?
1.列編輯
1.1.首先通過以下sql查找出所有按日分表的表名
SELECT
table_name
FROM
information_schema.TABLES
WHERE
table_schema = 'bianmin_trade'
AND table_name LIKE 'bill_20%';
1.2.通過文本工具(notepad++)自帶的列編輯工具、進行批量編輯
優點是:SQL語句比較簡單直觀,容易審核
缺點是:按日分表,這樣就會照成大量的SQL,顯得很繁瑣。
場景:適合與生產環境執行;
2.通過Mysql存儲過程進行實現:
/**判斷存儲過程是否存在,否則刪除*/
drop procedure if exists batchUpdate;
/**聲明存儲過程*/
CREATE PROCEDURE batchUpdate()
BEGIN
DECLARE tableName varchar(20) default '';
DECLARE done INT DEFAULT 0;
DECLARE tableNames CURSOR FOR select table_name from information_schema.tables where table_schema='bianmin_trade' and table_name like 'bill_20%';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN tableNames;
REPEAT
FETCH tableNames INTO tableName;
IF not done THEN
set @sql=concat('alter table ',tableName,' add payment_type tinyint(2) not null default 3 comment "繳費類型"; ');
PREPARE stmt from @sql;
execute stmt;
END IF;
UNTIL done END REPEAT;
CLOSE tableNames;
END;
/**執行存儲過程*/
call batchUpdate();
/**刪除存儲過程*/
drop procedure batchUpdate;
優點是:SQL比較簡潔
缺點是:加大了審核難度,容易存在安全風險。
場景:適合測試環境執行;
早年同窗始相知,三載瞬逝情卻萌。年少不知愁滋味,猶讀紅豆生南國。別離方知相思苦,心田紅豆根以生。
總結
以上是生活随笔為你收集整理的Mysql按日分表如何实现批量修改表结构 mysql分表分库后如何修改批量修改表结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个圆的移动 AE教程 速度曲线调节
- 下一篇: Apple Care+丢失险多国上线 国