MySQL笔记

执行顺序


在这里插入图片描述

DCL


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

函数


字符串函数

在这里插入图片描述

数值函数

在这里插入图片描述

日期函数

在这里插入图片描述

select date_add(now(), INTERVAL 70 DAY);
select datediff('2024-03-05', '2024-02-06');

流程函数

在这里插入图片描述

select 
name, score,
CASE
	WHEN score >45 AND score <=49 THEN 'A'
	WHEN score >40 AND score <= 45 THEN 'B'
	else 'C'
END as grade
from tb_hotel;
select city,
case city 
	when '北京' then '一线城市' 
  	when '上海' then '一线城市' 
  	else '二线城市' 
end as '工作地址' 
from address

约束


create table test_user(
	id int PRIMARY KEY auto_increment comment '主键',
	name VARCHAR(10) not null unique comment '姓名',
	age int  comment '年龄' CHECK (age > 0 and age <= 120),
	status char(1) DEFAULT '1' comment '状态',
	gender char(1) comment '性别'
) comment '用户表';

外键约束

  • 添加外键
alter table address add CONSTRAINT fk_address_user_id foreign key (user_id) REFERENCES user(id);
  • 删除外键
alter table address drop FOREIGN key fk_address_user_id;

在这里插入图片描述

多表查询


内连接

在这里插入图片描述

外连接

在这里插入图片描述

自连接

在这里插入图片描述

select a.name, b.name from emp a , emp b where a.managerid = b.id;

联合查询

  • union 和union all
select * from emp where salary >10000
union all
select * from emp where age <50;

返回的字段必须一致, union会做去重处理

子查询

标量子查询

在这里插入图片描述

列子查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

行子查询

在这里插入图片描述

select * from user where (username, status) = (select username, status from user where name = 'Jack');

表子查询

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

事务


在这里插入图片描述
方式一:

-- 查看事务提交方式
select @@autocommit;
-- 设置事务提交方式 0是手动提交 1自动提交
set @@autocommit=0;
-- 提交事务
COMMIT;
-- 回滚事务
ROLLBACK;

方式二:

  • 开启事务
start TRANSACTION;

四大特性ACID

在这里插入图片描述

并发事务问题

在这里插入图片描述

事务隔离级别

在这里插入图片描述
视频
查看事务隔离级别

  • 8.0
SELECT @@transaction_isolation;
  • 8.0之前
SELECT @@tx_isolation;

设置事务隔离级别

-- 当前会话
set session TRANSACTION ISOLATION LEVEL REPEATABLE READ;
-- 全局
set global TRANSACTION ISOLATION LEVEL REPEATABLE READ;
  • 10
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值