![](https://i-blog.csdnimg.cn/direct/669cba9c6a8943809cbeba31cda03c9a.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
MySQL
文章平均质量分 82
MySQL
Java老狗
欢迎关注我的公众号:加瓦老狗
展开
-
第十一章 MySQL优化
覆盖索引我们在讲解索引的时候已经提到过了,覆盖索引强调的是:在select后面写字段的时候,这些字段尽可能是索引所覆盖的字段,这样可以避免回表查询。A事务和B事务,开启A事务后,通过A事务修改表中某条记录,修改后,在A事务未提交的前提下,B事务去修改同一条记录时,无法继续,直到A事务提交,B事务才可以继续。慢查询日志文件可以将查询较慢的DQL语句记录下来,便于我们定位需要调优的select语句。当存储引擎是InnoDB时,表的行级锁是针对索引添加的锁,如果索引失效了,或者不是索引列时,会提升为表级锁。原创 2024-08-08 21:40:06 · 570 阅读 · 0 评论 -
第十章 索引
索引是一种能够提高检索(查询)效率的提前排好序的数据结构。例如:书的目录就是一种索引机制。索引是解决SQL慢查询的一种方式。原创 2024-08-08 21:39:09 · 965 阅读 · 0 评论 -
第九章 存储引擎
MySQL存储引擎决定了数据在磁盘上的存储方式和访问方式。不同的存储引擎实现了不同的存储和检索算法,因此它们在处理和管理数据的方式上存在差异。MySQL常见的存储引擎包括InnoDB、MyISAM、Memory、Archive等。每个存储引擎都有自己的特点和适用场景。例如,InnoDB引擎支持事务和行级锁定,适用于需要高并发读写的应用;MyISAM引擎不支持事务,但适用于读操作较多的应用;Memory引擎数据全部存储在内存中,适用于对读写速度要求很高的应用等等。原创 2024-08-08 21:37:54 · 752 阅读 · 0 评论 -
第八章 存储过程
存储过程可称为过程化SQL语言,是在普通SQL语句的基础上增加了编程语言的特点,把数据操作语句(DML)和查询语句(DQL)组织在过程化代码中,通过逻辑判断、循环等操作实现复杂计算的程序语言。换句话说,存储过程其实就是数据库内置的一种编程语言,这种编程语言也有自己的变量、if语句、循环语句等。在一个存储过程中可以将多条SQL语句以逻辑代码的方式将其串联起来,执行这个存储过程就是将这些SQL语句按照一定的逻辑去执行,所以一个存储过程也可以看做是一组为了完成特定功能的SQL 语句集。原创 2024-08-08 21:36:46 · 626 阅读 · 0 评论 -
第七章 DBA
给本地用户授权:grant [权限1,权限2...] on 库名.表名 to '用户名'@'localhost';授权语法:grant [权限1,权限2...] on 库名.表名 to '用户名'@'主机名/IP地址';给外网用户授权:grant [权限1,权限2...] on 库名.表名 to '用户名'@'%';注意:撤销权限时 “数据库名.表名” 不能随便写,要求和授权语句时的 “数据库名.表名” 一致。revoke 权限 on 数据库名.表名 from '用户'@'IP地址';原创 2024-08-08 21:35:28 · 209 阅读 · 0 评论 -
第六章 事务
事务是一个最小的工作单元。在数据库当中,事务表示一件完整的事儿。一个业务的完成可能需要多条DML语句共同配合才能完成,例如转账业务,需要执行两条DML语句,先更新张三账户的余额,再更新李四账户的余额,为了保证转账业务不出现问题,就必须保证要么同时成功,要么同时失败,怎么保证同时成功或者同时失败呢?就需要使用事务机制。也就是说用了事务机制之后,在同一个事务当中,多条DML语句会同时成功,或者同时失败,不会出现一部分成功,一部分失败的现象。原创 2024-08-08 21:34:31 · 736 阅读 · 0 评论 -
第五章 视图
只能将select语句创建为视图。对视图的增删改会改变原表数据。原创 2024-08-08 21:33:10 · 112 阅读 · 0 评论 -
第四章 三范式
数据库表设计的原则。教你怎么设计数据库表有效,并且节省空间。原创 2024-08-08 21:30:53 · 176 阅读 · 0 评论 -
第二章 DQL
from ...1where ...2重点掌握一个完整的DQL语句执行顺序。从一张表中查询数据称为单表查询。从两张或更多张表中联合查询数据称为多表查询,又叫做连接查询。什么时候需要使用连接查询?比如这样的需求:员工表中有员工姓名,部门表中有部门名字,要求查询每个员工所在的部门名字,这个时候就需要连接查询。select语句中嵌套select语句就叫做子查询。select语句可以嵌套在哪里?where后面、from后面、select后面都是可以的。原创 2024-08-08 21:27:48 · 761 阅读 · 0 评论 -
第三章 表相关
varchar 的最大实际长度由最长的行的大小和使用的字符集确定,而实际占用的空间为字符串的实际长度加 1。如果采用以上两张表存储数据,对于学生表来说,sno这个字段的值是不能随便填的,这个sno是学校编号,必须要求这个字段中的值来自学校表的sno。以上的删除属于DML的方式删除,这种删除的数据是可以通过事务回滚的方式重新恢复的,但是删除的效率较低。当我们对表中的数据进行增删改的时候,称它为DML语句。表名后面的小括号当中的字段名如果省略掉,表示自动将所有字段都列出来了,并且字段的顺序和建表时的顺序一致。原创 2024-08-08 21:29:25 · 906 阅读 · 0 评论 -
第一章 初始化数据
nameagegender张三20男李四22女以上就是数据库表格的直观展示形式。表格英文单词table。表是数据库存储数据的基本单元,数据库存储数据的时候,是将数据存储在表对象当中的。为什么将数据存储在表中呢?因为表存储数据非常直观。任何一张表都有行和列:行:记录(一行就是一条数据)列:字段(name字段、age字段、gender字段)每个字段包含以下属性:字段名:name、age、gender都是字段的名字。原创 2024-08-08 21:25:12 · 571 阅读 · 0 评论