MySQL:锁的学习

1. 分类 1.1. 对锁的态度 乐观锁; 悲观锁; 1.2. 属性分类 排他锁; 共享锁; 1.3. 粒度级别分类 全局锁; 页级锁; 表级锁; 行级锁; 2. 对锁的态度 2.1. 乐观锁 乐观的认为别人不会去修改数据,没有锁,在确定修改时再重新查询一遍数据,如果数据被修改了就放弃修改数据。 一般是读的为主。如果频繁的写入,会导致较高的失败率。 乐观锁通过 CAS 或者版本机制来

- 阅读全文 -

MySQL查询的执行过程概述

一、MySQL查询时的简要执行过程 连接器 查询缓存 解析器 预处理 优化器 执行器 二、连接器 TCP 三次握手; 校验用户的账号密码; 根据用户分配权限,对用户修改权限不影响当前会话; 三、查询缓存 查询缓存(Query Cache)以 key-value 键值对的形式存储。key 就是 SQL 语句,必须完全对应。同时如果对数据表内的一条数据进行更新,就会导致整张表的查询缓存失效。

- 阅读全文 -

MySQL学习 - DML 增删改

DML 增删改 增加 字段顺序一一对应添加 按照字段声明的先后顺序插入 INSERT INTO table_name VALUES(v1,v2,v3...); INSERT INTO empl VALUES(1,'xxcheng','2023-08-01',5000.0); 指定字段名添加 INSERT INTO table_name(field_1,field_2,field3...)

- 阅读全文 -

MySQL学习 - DDL 操作

一、数据库操作 创建 CREATE DATABASE 库名; CREATE DATABASE 库名 CHARACTER SET 字符集; CREATE DATABASE IF NOT EXISTS 库名; 查询 SHOW DATABASES; 查看所有数据库 USE 库名; 切换要操作数据库 SHOW DATABASES; 查询当前数据库所有的表 SELECT DATABAS

- 阅读全文 -

MySQL学习 - 子查询

子查询 将一个查询语句嵌套在查询语句里的一个查询语句。被嵌套在内的叫子查询(内查询)、外面的叫主查询(外查询)。 规范 子查询必须写在括号内; 子查询为了可读性,一般写在操作符的右边; 子查询不支持 GROUP BY 子句和 LIMIT 子句; 分类 可分为两类 单行子查询和多行子查询; 单行子查询的子查询(内查询)返回一条查询结果,多行子查询返回多条查询结果 相关子查询和非相关子查询

- 阅读全文 -

MySQL学习 - 聚合函数

聚合函数 作用于一组函数,只返回一个值。 常见的聚合函数 AVG、SUM 只适合数值类型的字段 SELECT AVG(salary),SUM(salary),SUM(last_name) FROM employees; +-------------+-------------+----------------+ | AVG(salary) | SUM(salary) | SUM(last_name

- 阅读全文 -