MySQL锁机制及图形化工具使用
表锁读写锁
读锁
lock tables tb_1 read;
共享锁,加锁后别的线程也可以加读锁和写锁,可读不可写
写锁
lock tables tb_1 write;
独占锁,加锁以后别的线程不能加读锁和写锁,不能读也不能写
锁升级
加读锁后可再次加写锁
解锁
unlock tables
取消掉所有的锁,只需输入一次
行锁
select * from tb_1 where id = 2 for undate;
因为只操作选中的那几行就可以
某种乐观锁的实现MVCC
也是CAS过程
并发量起来后,就要加上MVCC
图形化工具SQLyog安装使用
view 视窗
多表联查
trigger触发器
为相同操作执行一系列自动执行连续动作的工具,被称为触发器
互联网公司基本不用
政府、外包、银行使用较多
面对增删改
不允许select上加触发器
也就是查不允许加触发器,
用完及时删除,因为只要对表格进行操作触发器就会执行,防止产生不必要的损失
before/after insert、update、delete、on
在...之前/在...之后插入、更新状态、删除、在...之上
for each row begin 开始遍历一行
Stored Procs存储过程
类似触发器,但需要创建后使用call命令手动单次执行
同样慎用
可传参
in
值传递
out
返回值,形参是谁就给谁
inout
两者都关心
鸡兔同笼
mysql语言
声明:declare a varchar(32);
赋值:set a = 4;
语法和java基本一致
固定格式:
if true then
代码块
elseif true then
代码块
else
end if;
循环有三个:while、loop、rep...
while 条件 do
set 代码块
end while
=为判断符 eg:a = 5 为判断a是否等于5
前面+set为赋值 eg:set a = 5为赋值