数据库表定期备份脚本参考
将 sql 语句中的 t1 替换成具体业务需要的名字就可以直接使用
– 删除表 ——copy表
DROP TABLE IF EXISTS t1_copy;
– 创建 临时表,表结构同原表
CREATE TABLE IF NOT EXISTS t1_temp LIKE t1;
– 表改名: 原表 -> copy表,临时表 -> 原表
– 神sql,一句话将两个表直接处理,由于重命名表没有事务保证,所以要保证两个操作同时成功,可以放到一个sql里面
注意: rename之前需要将表先锁住
可以使用: LOCK TABLE t1 WRITE;
RENAME TABLE t1 TO t1_copy, t1_temp TO t1;
相关语法
- RENAME TABLE 语法:
RENAME TABLE
tbl_name TO new_tbl_name
[, tbl_name2 TO new_tbl_name2] ...
- ALTER TABLE 语法:
ALTER TABLE old_table RENAME new_table;
20220621
参考:
MySQL doc: rename table