MySQL
文章平均质量分 89
MySQL学习
Coca1cole
~
展开
-
MySQL锁机制
对整张表加锁开销小,加锁快,不会出现死锁锁粒度大,发生锁冲突的概率高,并发度低对表中某行记录加锁开销大,加锁慢,会出现死锁锁定粒度最小,发生锁冲突的概率最低,并发度高排它锁(Exclusive),又称为 X 锁,写锁,写锁和其他锁是不兼容的共享锁(Shared),又称为 S 锁,读锁,读锁之间是共享记录的SS可以兼容的,XS、SX、XX之间是互斥的,即读锁之间可以共享,读写和写写之间是不兼容的一个事务对数据对象 O 加了 S 锁,只能对 O 进行读取操作,加锁期间其它事务能对O 加 S 锁但不能加 X 锁一原创 2023-04-07 08:26:44 · 710 阅读 · 4 评论 -
MySQL事物
例如当事务A和事务B并发执行时,当事务B查询读取数据后,事务A新增或者删除了一条满足事务B查询条件的记录,此时事务B再去查询,发现查询到前一次不存在的记录,或者前一次查询的一些记录不见了。例如当事务A和事务B并发执行时,当事务A更新后,事务B查询读取到A尚未提交的数据,此时事务A回滚,则事务B读到的数据就是无效的脏数据(事务B读取了事务A尚未提交的数据)例如当事务A和事务B并发执行时,当事务B查询读取数据后,事务A更新操作更改事务B查询到的数据,此时事务B再次去读该数据,发现前后两次读的数据不一样。原创 2023-04-05 17:24:57 · 403 阅读 · 0 评论 -
MySQL存储引擎
不同引擎的本质上是数据库数据存储的结构方式不同在不同的数据下数据库储存有不同的需求,所以需要不同的引擎种类锁机 制B/B+树索 引哈希索 引外键事务索引缓存数据缓存MyISAM表锁支持不支持不支 持不支持支持不支持InnoDB行锁支持不支持支持支持支持支持Memory表锁支持支持不支 持不支持支持支持说明:锁机制:表示数据库在并发请求访问的时候,多个事务在操作时,并发操作的粒度B/B+树索引和哈希索引:主要是加速SQL的查询速度。原创 2023-04-04 15:33:13 · 282 阅读 · 0 评论 -
MySQL数据库范式
在要求更好的查询效率时,可以不遵循BC范式(多一个候选键,就多一份表,更多可能需要进行联合查询),候选键储存在主表上也是没有问题的,并不会造成数据的冗余,在一定程度上提高查询效率。比如:noNF表中的skill技能这个字段,有的人是“java,mysql”,有的人描述的是“Java,MySQL”,这样数据就不一致了,解决办法就是将多值属性放入一个新表。BC范式是在第三范式的基础上的一种特殊情况,即每个表中只有一个候选键(在一个数据库中每行的值都不相同,则可称为候选键)原创 2023-04-03 18:08:28 · 400 阅读 · 1 评论 -
MySQL基础-变量/流程控制/游标/触发器
在实际开发中,我们经常会遇到这样的情况:有 2 个或者多个相互关联的表,如 商品信息 和 库存信息 分别存放在 2 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性,必须同时在库存表中添加一条库存记录。启动MySQL服务,生成MySQL服务实例期间,MySQL将为MySQL服务器内存中的系统变量赋值,这些系统变量定义了当前MySQL服务实例的属性、特征。在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。注:只能用于存储程序。原创 2023-04-01 23:34:20 · 908 阅读 · 1 评论 -
MySQL基础-子查询
子查询概念:子查询指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者需要从同一个表中先计算得出一个数据结果,然后与这个数据结果(可能是某个标量,也可能是某个集合)进行比较子查询的基本语法结构:说明:子查询(内查询)在主查询之前一次执行完成子查询的结果被主查询(外查询)使用子查询要包含在括号内建议将子查询放在比较条件的右侧,便于阅读。原创 2023-03-24 17:34:21 · 12738 阅读 · 1 评论 -
MySQL基础-视图
视图优点:操作简单将经常使用的查询操作定义为视图,可以使开发人员不需要关心视图对应的数据表的结构、表与表之间的关联关系,也不需要关心数据表之间的业务逻辑和查询条件,而只需要简单地操作视图即可,极大简化了开发人员对数据库的操作。减少数据冗余视图跟实际数据表不一样,它存储的是查询语句。所以,在使用的时候,我们要通过定义视图的查询语句来获取结果集。而视图本身不存储数据,不占用数据存储的资源,减少了数据冗余。数据安全MySQL将用户对数据的 访问限制在某些数据的结果集上,而这些数据的结果集可以。原创 2023-03-27 22:51:55 · 655 阅读 · 2 评论 -
MySQL基础-存储过程与函数
MySQL从5.0版本开始支持存储过程和函数,使得sql语句具有面向过程开发的特点存储过程和函数能够将复杂的SQL逻辑封装在一起,应用程序无须关注存储过程和函数内部复杂的SQL逻辑,而只需要简单地调用存储过程和函数即可存储过程是一组经过 预先编译 的 SQL 语句的封装,预先存储在 MySQL 服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储过程的命令,服务器端就可以把预先存储好的这一系列 SQL 语句全部执行参数 IN 类型:输入参数(值)参数 OUT 类型:输出参数(值)参数 INOUT 类原创 2023-03-30 23:35:57 · 629 阅读 · 0 评论 -
MySQL基础-多表查询
外连接: 两个表在连接过程中除了返回满足连接条件的行以外还返回左(或右)表中不满足条件的行 ,这种连接称为左(或右) 外连接,没有匹配的行时, 结果表中相应的列为空(NULL)如果明确知道合并数据后的结果数据不存在重复数据,或者不需要去除重复的数据,则尽量使用UNION ALL语句,以提高数据查询的效率。说明:上述多表查询中出现的问题称为:笛卡尔积的错误,结果是将每个员工分配了所有的部门所产生的。满外连接的结果 = 左右表匹配的数据 + 左表没有匹配到的数据 + 右表没有匹配到的数据。同时使用 JOIN…原创 2023-03-22 20:27:49 · 442 阅读 · 0 评论 -
MYSQL数据库-内外连接
本章主要讲解学习MYSQL数据库中的表的内连和外连。原创 2022-12-10 20:33:00 · 997 阅读 · 2 评论 -
MYSQL数据库-复合查询
本章主要讲解学习MYSQL数据库中的复合查询,前面我们讲解的mysql表的查询都是对一张表进行查询,在实际开发中这远远不够。原创 2022-12-10 20:31:21 · 651 阅读 · 0 评论 -
MYSQL数据库-索引
本章主要讲解MYSQL数据库中的索引这一重要知识点原创 2022-12-10 20:28:28 · 560 阅读 · 0 评论 -
MYSQL数据库-内置函数
本章主要讲解学习MYSQl数据库中的内置函数。原创 2022-09-13 09:35:33 · 405 阅读 · 38 评论 -
MYSQL数据库-基本操作
本章主要讲解表的基本操作。原创 2022-08-25 09:40:23 · 465 阅读 · 2 评论 -
MYSQL数据库-表的约束
本章主要讲解学习MYSQl数据库中的表的约束。原创 2022-08-23 11:18:54 · 592 阅读 · 1 评论 -
MYSQL数据库-数据类型
本章主要讲解学习MYSQL数据库的数据类型。原创 2022-08-22 10:23:02 · 846 阅读 · 30 评论 -
MYSQL数据库-库/表操作
本章主要学习MYSQL数据库中库操作和表操作。原创 2022-08-21 08:13:37 · 411 阅读 · 1 评论 -
MYSQL数据库-基础概念
概念:数据仓库,软件,安装在操作系统之上Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性数据库就是一个存放数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织、存储的,我们可以通过数据库提供的多种方法来管理数据库里的数据。原创 2022-08-20 18:01:41 · 551 阅读 · 5 评论