MySQL
文章平均质量分 75
MySQL
坚持每天学习一点
找一个程序员学习搭子 杭州有没有帮我内推的大佬?
展开
-
mysql exist和in的区别
3、此时,再根据我们的user.id IN order.user_id的条件,将结果进行筛选(既比较id列和user_id 列的值是否相等,将不相等的删除)。最后,得到两条符合条件的数据。反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists。如果返回的是true的话,则该行结果保留,如果返回的是false的话,则删除该行,最后将得到的结果返回。1、使用exists关键字进行查询的时候,首先,我们先查询的不是子查询的内容,而是查我们的主查询的表。in在查询的时候,首先查询子查询的表,原创 2023-05-18 00:01:07 · 407 阅读 · 0 评论 -
mysql查看当前连接数
也可以修改mysql配置文件max_connections=500,然后重启mysql生效。Threads_connected显示的数值就是当前的连接数。查看连接到数据库的账号、客户端ip及各连接数。查看连接到数据库的客户端ip及各连接数。查看当前各用户连接数据库的数量。如果要修改最大连接数为500。mysql查看当前连接数。原创 2023-07-09 21:19:00 · 912 阅读 · 0 评论 -
【尚硅谷MySQL入门到高级-宋红康】一、数据库概述
MySQL从5.7版本直接跳跃发布了8.0版本 ,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL Optimizer优化器进行了改进。不仅在速度上得到了改善,还为用户带来了更好的性能和更棒的体验。原创 2023-02-26 21:37:01 · 1382 阅读 · 0 评论 -
二、MySQL环境搭建
MySQLWorkbench又分为两个版本,分别是 社区版 (MySQL Workbench OSS)、 商用版 (MySQL。此外,官方还提供了 MySQL Workbench (GUITOOL)一款专为MySQL设计的 图形界面管理工具。目前最新版本为 8.0.27 ,发布时间 2021年10月。此前,8.0.0 在 2016.9.12日就发布了。原创 2023-02-27 21:47:00 · 329 阅读 · 0 评论 -
三、基本的select语句
SQL分类SQL语言在功能上主要分为如下3大类:DDL(Data Definition Languages、数据定义语言),这些语句定义数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构主要的语句关键字包括 CREATE 、 DROP 、 ALTER 等DML(Data Manipulation Language、数据操作语言),用于添加、删除、更新和查询数据库记录主要的语句关键字包括 INSERT 、 DELETE 、 UPDATE 、 SELECT 等。原创 2023-03-08 23:45:36 · 225 阅读 · 0 评论 -
四、运算符
按位右移(>>)运算符将给定的值的二进制数的所有位右移指定的位数。按位左移(原创 2023-03-11 12:14:21 · 467 阅读 · 0 评论 -
五、排序与分页
由图可以得出结论:在department_id相同的情况下,按照薪资降序排列。分页公式:(当前页数-1)*每页条数,每页条数。原创 2023-03-14 21:50:30 · 172 阅读 · 0 评论 -
六、多表查询
多表查询,也称为关联查询,指两个或更多个表一起完成查询操作,它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。原创 2023-03-15 19:16:06 · 815 阅读 · 0 评论 -
12、MySQL数据类型
浮点数和定点数类型的特点是可以 处理小数 ,你可以把整数看成小数的一个特例。MySQL支持的浮点数类型,分别是 FLOAT、DOUBLE、REAL。FLOAT 表示单精度浮点数;DOUBLE 表示双精度浮点数;REAL默认就是 DOUBLE。如果你把 SQL 模式设定为启用“ REAL_AS_FLOAT ”,那 么,MySQL 就认为REAL 是 FLOAT。如果要启用“REAL_AS_FLOAT”,可以通过以下 SQL 语句实现:SET sql_mode = “REAL_AS_FLOAT”;原创 2023-03-23 14:38:15 · 616 阅读 · 2 评论 -
十五、存储过程与函数
含义:存储过程的英文是 Stored Procedure。它的思想很简单,就是一组经过 预先编译 的 SQL 语句的封装执行过程:存储过程预先存储在 MySQL 服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储过程的命令,服务器端就可以把预先存储好的这一系列 SQL 语句全部执行。原创 2023-03-31 06:55:11 · 467 阅读 · 0 评论 -
高级篇 一、Linux下MySQL的安装和使用
111。原创 2023-04-16 22:50:57 · 81 阅读 · 0 评论 -
高级篇二、MySQL的数据目录
MySQL数据库文件的存放路径:/var/lib/mysql/相关命令目录:/usr/bin(mysqladmin、mysqlbinlog、mysqldump等命令)和/usr/sbin。/etc/my.cnf有4个数据库是属于MySQL自带的系统数据库看一下我的计算机上的数据目录下的内容:这个数据目录下的文件和子目录比较多,除了 information_schema 这个系统数据库外,其他的数据库在数据目录下都有对应的子目录。1、表结构2、 表中数据和索引① 系统表空间(system tabl原创 2023-04-17 19:41:11 · 567 阅读 · 0 评论 -
高级篇三、用户与权限管理
角色授权后,可以对角色的权限进行维护,对权限进行添加或撤销。添加权限使用GRANT语句,撤销角色或角色权限使用REVOKE语句。只要你创建了一个角色,系统就会自动给你一个“ USAGE ”权限,意思是连接登录数据库的权限。可将多个角色同时赋予多个用户,用逗号隔开即可。当我们需要对业务重新整合的时候,可能就需要对之前创建的角色进行清理,删除一些不会再使用的角色。使用zhang3用户登录,然后查询当前角色,如果角色未激活,结果将显示NONE。创建角色之后,默认这个角色是没有任何权限的,我们需要给角色授权。原创 2023-04-16 22:55:58 · 603 阅读 · 0 评论 -
高级篇四、逻辑架构
1、逻辑架构剖析 2、SQL执行流程 3、数据库缓冲池(Buffer pool)原创 2023-12-27 21:48:37 · 430 阅读 · 0 评论 -
高级篇五、存储引擎
具备外键支持功能的事务存储引擎MySQL从3.23.34a开始就包含InnoDB存储引擎。大于等于5.5之后,默认采用InnoDB引擎InnoDB是MySQL的 默认事务型引擎 ,它被设计用来处理大量的短期(short-lived)事务。可以确保事务的完整提交(Commit)和回滚(Rollback)。原创 2023-04-12 23:22:15 · 328 阅读 · 0 评论 -
高级篇六、索引的数据结构
查找都是索引操作,一般来说索引非常大,尤其是关系型数据库,当数据量比较大的时候,索引的大小有可能几个G甚至更多,为了减少索引在内存中的占用,索引都是存储在外部磁盘上的。每建立一个索引都要为它建立一棵B+树,每一棵B+树的每一个节点都是一个数据页,一个页默认会占用 16KB 的存储空间,一棵很大的B+树由许多数据页组成,那就是很大的一片存储空间。为了减少磁盘IO的次数,就需要尽量 降低树的高度 ,需要把原来“瘦高”的树结构变的“矮胖”,树的每层的分叉越多越好。,它的高度远小于平衡二叉树的高度。原创 2023-04-15 10:44:19 · 387 阅读 · 0 评论 -
高级篇七、InnoDB数据存储结构
页a,页b,页c … 页n 这些页可以不在物理结构上相连,只要通过双向链表相关联即可每个数据页中的记录会按照主键值从小到大的顺序组成一个单项链表每个数据页都会为存储在它里面的记录生成一个页目录,通过主键查找某条记录的时候可以在页目录中使用二分法快速定位到对应的槽然后再遍历该槽对应分组中的记录即可快速找到指定的记录。原创 2023-04-19 22:34:57 · 390 阅读 · 0 评论 -
高级篇八、索引的创建和设计
在MySQL 8.x版本中,为索引提供了一种新的测试方式,可以通过查询优化器的一个开关(use_invisible_indexes)来打开某个设置,使隐藏索引对查询优化器可见。如果一个索引需要长期被隐藏,那么可以将其删除,因为索引的存在会影响插入、更新和删除的性能。从MySQL 8.x开始支持 隐藏索引(invisible indexes) ,只需要将待删除的索引设置为隐藏索引,使。index_name 指定索引的名称,为可选参数,如果不指定,那么MySQL默认col_name为索引名;原创 2023-04-22 16:32:43 · 94 阅读 · 0 评论 -
高级篇九、性能分析工具的使用
在MySQL中,可以使用 SHOW STATUS 语句查询一些MySQL数据库服务器的 性能参数 、 执行频率。last_query_cost: 查询上一次查询使用了多少个页。查询慢查询日志是否开启,以及慢查询日志文件的位置。2)修改long_query_time阈值。1) 开启slow_query_log。查询当前系统中有多少条慢查询记录。查询慢查询的时间阈值设置。原创 2023-07-07 12:40:27 · 131 阅读 · 0 评论 -
高级篇十、索引优化和查询优化
目录10.1 数据准备10.2 索引失效案例4、 计算、函数、类型转换(自动或手动)导致索引失效5、类型转换导致索引失效10.1 数据准备10.2 索引失效案例4、 计算、函数、类型转换(自动或手动)导致索引失效5、类型转换导致索引失效原创 2024-01-20 16:20:21 · 388 阅读 · 0 评论 -
高级篇十三、事务基础知识
事务是数据库区别文件系统的重要特性之一,当我们有了事务会让数据库始终保持一致性,同时我们还能通过事务的机制恢复到某个时间点,这样可以保证已提交到数据库的修改不会因为系统的崩溃而丢失!原创 2023-05-13 10:14:00 · 630 阅读 · 0 评论 -
高级篇十四、MySQL事务日志
另一个解决的思路 :我们只是想让已经提交了的事务对数据库中数据所做的修改永久生效,即使后来系统崩溃,在重启后也能把这种修改恢复出来。以上情况出现,我们需要把数据改回原先的样子,这个过程称之为 回滚 ,这样就可以造成一个假象:这个事务看起来什么都没做,所以符合原子性要求。redo log的写入并不是直接写入磁盘的,InnoDB引擎会在写redo log的时候先写redo log buffer,之后以。所以最坏的情况就是事务提交后,刚写完缓冲池,数据库宕机了,那么这段数据就是丢失的,无法恢复。原创 2023-07-03 19:26:31 · 79 阅读 · 0 评论 -
高级篇十五、锁
在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。为保证数据的一致性,需要对 并发操作进行控制 ,因此产生了 锁。同时 锁机制 也为实现MySQL的各个隔离级别提供了保证。原创 2023-07-04 07:55:55 · 118 阅读 · 0 评论 -
高级篇十六、多版本并发控制(重要)
MVCC (Multiversion Concurrency Control),多版本并发控制。顾名思义,MVCC 是通过数据行的多个版本管理来实现数据库的并发控制。这项技术使得在InnoDB的事务隔离级别下执行 一致性读 操作有了保证。换言之,就是为了查询一些正在被另一个事务更新的行,并且可以看到它们被更新之前的值,这样在做查询的时候就不用等待另一个事务释放锁。原创 2023-07-04 23:48:15 · 209 阅读 · 0 评论 -
高级篇十七、其他数据库日志
MySQL有不同类型的日志文件,用来存储不同类型的日志。原创 2023-07-05 22:45:10 · 171 阅读 · 0 评论 -
高级篇十八、主从复制
1、主从复制概述1.1 如何提升数据库并发能力1.2 主从复制的作用2、主从复制的原理3、一主一从架构搭建原创 2023-07-05 22:57:36 · 110 阅读 · 0 评论 -
高级篇十九、数据库的备份与恢复
待整理。原创 2023-07-09 16:10:22 · 64 阅读 · 0 评论