MySQL学习笔记

函数

字符串函数

函数 功能
CONCAT(S1,S2,S3,…,Sn) 字符串拼接,按顺序拼接在一起
LOWER(str) 转小写
UPPER(str) 转大写
LPAD(str,n,pad) 用pad来对str的左边进行填充,使之长度达到n
RPAD(str,n,pad) 用pad来对str的右边进行填充,使之长度达到n
TRIM(str) 太熟悉了,去掉首尾空格
SUBSTRING(str,start,len) 从start处开始截取,一共截取长度为n的子串

数值函数

函数 功能
CEIL(x) 向上取整
FLOOR(x) 向下取整
MOD(x,y) 返回x/y的模(余数)
RAND() 0~1随机数
ROUND(x,y) 对x四舍五入保留y位

日期函数

函数 功能
CURDATE() 返回当前日期
CURTIME() 返回当前时间
NOW() 返回当前日期和时间
YEAR(date) 获取指定date的年份
MONTH(date) 获取balabala的月份
DAY(date) balabala的天
DATE_ADD(date,INTERVAL exper type) date加上一段时间间隔后的时间
DATEDIFF(date1,date2) 返回时间间隔

DATE_ADD函数用法

栗子:从当前时间往后推70天

DATE_ADD(NOW(),INTERVAL 70 DAY)

DATEDIFF函数用法

栗子:求2024-7-12-2025-7-12间隔天数

DATEDIFF('2025-07-12','2024-07-12') # 默认使用前者减去后者

流程函数

函数 功能
IF(value,t,f) 如果value为true,返回t,否则返回f
IFNULL(value1,value2) 如果value1不为空就返回value1,否则返回value2
CASE WHEN [val1] THEN [res1] … ELSE [default] END 如果val1为true就返回res1,如果val2为true就返回res2,…否则返回default
CASE [expr] WHEN [val1] THEN [res1] … ELSE [default] END 如果expr等于val1就返回res1,如果expr等于val2就返回res2,…否则返回default

查询

自连接查询

假设有一个表如下

id name age manager_id(领导的id)
1 AAA 18
2 BBB 19 1
3 CCC 20 1
4 DDD 21 2
5 EEE 22 2
6 FFF 23 3
7 GGG 24 3

栗子:查询员工及其领导的名字

使用自连接,先对emp表给两个别名分别为a,b,a相当于员工表,b相当于领导表

SELECT a.name,b.name from emp a,emp b WHERE a.manager_id=b.id;

联合查询union

# union all 不会排除重复数据
SELECT * from table1
union all
SELECT * from table2;
# union 会排除重复数据
SELECT * from table1
union
SELECT * from table2;

事务

简单操作

开启事务

START TRANSACTION

提交事务/回滚事务

COMMIT / ROLLBACK

事务的四大特性

ACID

  • 原子性
  • 一致性
  • 隔离性
  • 持久性

并发事务问题

问题 描述
脏读 一个事务读取到另一个事务还没提交的数据
不可重复读 一个事务先后读到同一记录,但两次读取的不同(两次读取之间数据被其他事务修改提交了)
幻读 一个事务按条件查询数据时,没有对应的数据行,但是插入数据时,又发现这行数据已经存在,好像出现了“幻影”

事务隔离级别

隔离级别与问题的关系(脉涩口)

表示会出现(无法解决的问题),x表示可以解决的问题

image-20240714162158263

查看隔离级别

SELECT @@TRANSACTION_ISOLATION

设置隔离级别

SET [SESSION|GLOBAL] TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE}
-- 设置[仅当前会话|全局] 隔离级别[读未提交|读已提交|可重复度|串行化]
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇