数据库线上操作12条规避误操作

线上操作12条规避误操作:
1,修改或删除数据前先备份
2,线上变更一定要有回退方案
3,批量操作中间添加 sleep
4,DDL 操作要谨慎,对于大表的 alter 操作最好使用 pt-online-schema-change。
5,变更操作先在测试环境测试
6,重启数据库前先刷脏页
7,禁止批量删除大量的 binlog
8,对于变更操作一定要写详细的操作步骤,并 review
9,按 enter 之前再进行一次环境确认
10,如果你的操作可能会使状况变得更糟,请停止操作
11,快速处理磁盘满,使用 tune2fs 释放文件系统保留块
12,连接数满先修改内存变量,而不是重启,修改方式如下:
gdb -p pid -ex "set max_connections=1000" -batch#pid是mysqld的对应的pid


后期创建数据库表时加判断 CREATE TABLE IF NOT EXISTS 表名()

删除表内数据用DELETE
清除表内数据,保存表结构 同TRUNCATE
删除表用DROP

更新表内的数据UPDATE 表名 SET 字段名=新值 WHERE 条件

更新id=3的title字段中的c++替换为python

UPDATE runoob_tbl SET title = REPLACE(title, 'C++', 'Python') where id = 3;

LINK的用法 通常跟通配符%一起模糊匹配使用在 WHERE语句中 比如 WHRER 字段名 LINK '%xx'

UNION (DISTINCT)或者为空 默认删除结果中重复的数据; ALL 返回重复的数据

排序 ORDER BY  升序ASC 降序DEASC

分组 GROUP BY  跟COUNT,SUM,AVG等函数使用

连接
内连接 INNER JOIN获取两个表中字段匹配关系的记录
       FROM  表1 JOIN 表2 ON 条件
等价于 FROM 表1,表2 WHERE 条件

左连接 LEFT JOIN 获取左表所有记录,即使右表没有对应匹配的记录为空
       FROM 表1 LEGT JOIN 表2 ON 条件

右连接 RIGHT JOIN 获取右表所有记录,即使左表没有对应匹配的记录为空
       FROM 表1 RIGHT JOIN 表2 ON 条件

事务条件:院子性 一致性 隔离性 持久性


修改表名或者字段名时用ALTER

删除字段名:
使用ALTER跟DROP语句删除表中的字段,但如果剩余一个字段无法使用DROP删除

添加字段名:
用ADD 字段名 字段类型  默认添加到末尾 
也可指定位置使用ADD 字段名 字段类型FIRST || ADD 字段名字段类型  AFTER 原有的字段名

修改字段类型: MODIFY 原字段名 新字段类型
修改字段名: CHANGE 原字段名 新字段名 新字段名类型

修改表名 RENAME TO 新表名

修改存储引擎 ALTER TABLE tablename engine=新存储引擎

删除外键约束ALTER TABLE tablename FROP foreign key keyname

索引 应用于查询语句(一般是where语句) 
索引也是一张表 保存主键跟索引字段,并指向是实体表的记录


sql攻击:输入的是sql语句片段,与DAO中sql语句合成一个完整的sql语句

防止sql攻击:
过滤输入的数据是否含非法字符
分步校验
使用preparedstatement


oracle查询sid_name
conn/ as sysdba
select instance_name from v$instance;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

py编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值