MySQL

明白了MySQL内部结构才能成为高手!

1. 连接池(接待部门)作用:管理客户端连接(线程复用避免频繁创建销毁)。 关键机制: 采用线程池处理并发请求(比如100个用户同时查询)。 认证你的用户名密码(`mysql.user`表权限校验)。 吐槽点:连接数过多会爆(`max_connections`参数控制)。2. SQL接口

MySQL connection_id() 函数:获取当前连接ID

在MySQL中,connection_id() 函数用于获取当前连接ID,即返回当前MySQL连接的线程ID。其语法格式如下:connection_id()--返回当前连接IDconnection_id()函数是一个信息函数,用于返回当前数据库连接的线程标识符。值得注意的是,connection_id()函数不需要任何参数,返回当前连接的唯一线程ID,可用于区分不同的数据库会话。sel

MySQL weekday() 函数:获取日期的星期索引

在MySQL中,weekday(date) 函数用于获取日期的星期索引,即返回日期在星期中的数字表示(0=Monday, 1=Tuesday, ..., 6=Sunday)。其语法格式如下:weekday(date)--返回日期的星期索引weekday()函数根据日期参数返回对应的星期索引(0到6,0代表星期一)。值得注意的是,weekday(NULL) 的返回值是NULL;对于非日期

MySQL8.0+ regexp_like() 函数:判断字符串是否匹配正则表达式

在MySQL中,regexp_like(str, pattern) 函数用于判断字符串是否匹配正则表达式,即返回字符串是否匹配指定的正则模式。其语法格式如下:regexp_like(str,pattern)--返回是否匹配正则表达式regexp_like()函数根据两个参数进行匹配判断:原字符串str,正则表达式模式pattern。返回布尔值(1表示匹配,0表示不匹配)。值

MySQL sin() 函数:计算数值的正弦值

在MySQL中,sin(x) 函数用于计算 x 的正弦值,即返回角度 x 的正弦函数结果。其语法格式如下:sin(x)--返回x的正弦值sin()函数根据参数 x 的数值计算正弦值,其中 x 为弧度值。值得注意的是,sin(NULL) 的返回值是NULL;而sin('字符串'),sin() 函数会尝试将字符串转换为数值,如果转换成功,返回对应的正弦值;如果转换失败,则返

MySQL 数据插入操作

基本语法形式MySQL 提供了两种主要的 INSERT 语句语法形式:1. INSERT...VALUES 语句INSERT INTO <表名> [<列名1>, <列名2>, ...]VALUES (值1, 值2, ...), (值1, 值2, ...), ...;2. INSERT...SET 语句INSERT INTO <表名>SET

MySQL 唯一约束

唯一约束核心特性1. 唯一性保证:确保列中所有值都是唯一的2. NULL值处理:允许NULL值,但只能有一个NULL(因为NULL不等于NULL)3. 多列约束:一个表可以有多个唯一约束4. 索引自动创建:MySQL会自动为唯一约束列创建唯一索引5. 与主键区别: 主键不允许NULL,唯一约束允许 每表只能有一个主

数据库三大范式详解

一、范式核心思想设计目标:通过结构化拆分,消除数据冗余和异常,同时保证数据完整性 平衡原则:范式化越高,冗余越少,但查询可能需更多JOIN(实际设计需权衡)二、三大范式逐层解析1. 第一范式(1NF):原子性规则:每个字段必须是**不可再分**的最小数据单元 违反案例: 错误设计(多值存储在一个字段)CREATET

MySQL8.0+ lag() 函数:跳上几行访问

在MySQL中,lag(expr, n) 函数用于访问前面行的数据,即返回当前行前面第n行的值。其语法格式如下:lag(expr,n)over(partitionbyexprorderbyexpr)--返回前面行的值lag()函数是一个窗口函数,用于访问结果集中当前行前面的指定行的数据。值得

MySQL monthname() 函数:获取日期的月份英文名

在MySQL中,monthname(date) 函数用于获取日期的月份名称,即返回日期中月份的英文名称。其语法格式如下:monthname(date)--返回日期的月份名称monthname()函数根据日期参数返回对应的月份英文名称(January到December)。值得注意的是,monthname(NULL) 的返回值是NULL;而monthname('字符串'),