阿里云RDS数据恢复方法

某天,公司的数据库被某运维同学用自动化脚本批量改了一批数据,并且改出问题来了,需要恢复修改的数据。由于我司采用了阿里云的云数据库 RDS,于是我登录了公司的阿里云控制台进行了恢复操作,操作过程总结如下,供需要的同学参考。

常用 MySQL 数据库语句

建表语句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CREATE TABLE `t_user` (
`id` varchar(30) NOT NULL COMMENT 'ID',
`login` varchar(100) NOT NULL COMMENT '账号',
`password` varchar(100) NOT NULL COMMENT '密码',
`nickname` varchar(10) DEFAULT NULL COMMENT '昵称',
`email` varchar(100) DEFAULT NULL COMMENT '邮箱',
`phoneCode` varchar(10) DEFAULT '86' COMMENT '国际电话区号',
`phone` varchar(30) DEFAULT NULL COMMENT '手机',
`create_at` varchar(24) DEFAULT NULL COMMENT '创建日期',
`create_by` varchar(30) DEFAULT NULL COMMENT '创建者',
`update_at` varchar(24) DEFAULT NULL COMMENT '修改日期',
`update_by` varchar(30) DEFAULT NULL COMMENT '修改者',
`delete_at` varchar(24) DEFAULT NULL COMMENT '删除日期',
`delete_by` varchar(30) DEFAULT NULL COMMENT '删除者',
PRIMARY KEY (`id`),
UNIQUE KEY `login` (`login`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户表’;

增加字段

1
2
ALTER TABLE `t_user`
ADD COLUMN `qq` VARCHAR(15) DEFAULT NULL COMMENT 'QQ'; -- 增加一个 qq 字段

删除字段

1
2
ALTER TABLE `t_user`
DROP COLUMN `email`; -- 删除一个 email 字段

删除索引

1
2
ALTER TABLE `t_user`
DROP INDEX `login`; -- 删除 login 索引

修改字段

1
2
ALTER TABLE `t_user`
MODIFY COLUMN `nickname` VARCHAR(20) DEFAULT NULL COMMENT '昵称'; -- 修改 nickname 字段长度为 varchar(20)

修改字段名称

1
2
ALTER TABLE `t_user`
CHANGE COLUMN `phoneCode` `phone_code` VARCHAR(10) DEFAULT '86' COMMENT '国际电话区号'; -- 修改 phoneCode 字段为 phone_code

在某个字段后面插入一个字段

1
2
ALTER TABLE `t_user`
ADD COLUMN `wechat` VARCHAR(15) DEFAULT NULL COMMENT '微信' AFTER `phone`; -- 在 phone 字段后添加一个 wechat 字段

多条语句连起来写,中端用逗号分隔开

1
2
3
ALTER TABLE `t_user`
CHANGE COLUMN `phoneCode` `phone_code` VARCHAR(10) DEFAULT '86' COMMENT '国际电话区号', -- 修改 phoneCode 字段为 phone_code
ADD COLUMN `wechat` VARCHAR(15) DEFAULT NULL COMMENT '微信' AFTER `phone`; -- 在 phone 字段后添加一个 wechat 字段

删除表

1
DROP TABLE `t_user`; -- 删除 t_user 表