
mysql数据库高级知识
文章平均质量分 72
mysql数据库高级知识
@睡不醒的每天@
生活不是苦难,也不是享受,而是为了奋斗的事业坚持到底,即使再小的帆也能远航。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MySQL-索引:聚集索引、覆盖索引、组合索引、前缀索引、唯一索引
这意味着表中的行是按id的升序物理存储的,并且每个叶子节点包含了完整的行数据(包括username, email, created_at)。当你执行如下查询时,同样以上述的idx_username_email为例,它是一个基于username和email两个列创建的组合索引。在users表中,id列已经是一个主键,自动带有唯一约束。不仅包括查询列,还包括结果集中所需的其他列(如在SELECT列表中的列)。,无需回表获取其他列数据,这就是一个覆盖索引的例子。在数据库中,聚集索引决定了表数据行的物理存储顺序。原创 2024-06-25 01:52:58 · 916 阅读 · 1 评论 -
mysql数据库索引的选择性
列的顺序:选择性高的列作为前导列。根据上述代码得知,当索引的选择性越高的情况下索引的长度越长(组合索引),当索引的长度越短的情况下,索引的选择性越低,上述显示两个单列索引计算值为0.3636和0.1818未达到0.7。表中已存在单列索引(普通索引)和组合索引(联合索引)创建组合索引(联合索引)1、索引选择性越高越好。2、索引长度越短越好。原创 2024-06-25 00:55:03 · 575 阅读 · 0 评论 -
关键字where 、in、not in、or、and、逻辑运算等组合使用
### where之比较查询的方法功能:```利用比较运算符查询符合条件的数据```语法:1:select * from 数据表名 where id 15;(表示查询id不等于15的所有字段数据)2:select * from 数据表名 where id = 15; (表示查询id等于15的所有字段数据)```objectivecSELECT * FROM student S WHERE S.sage 21 AND S.sage=20原创 2024-06-20 12:04:08 · 1341 阅读 · 2 评论 -
sql:group by和聚合函数的使用
提示:本文只讲解group by的简单使用和group by和聚合函数组合使用。原创 2024-06-13 18:03:09 · 888 阅读 · 0 评论 -
SQL中distinct去重关键字的使用和count统计组合的使用
distinct必须在列的前面,否则直接提示错误,当distinct作用于单列的的情况下,统计查询的结果为行数目的总数,包含null为空的数目。count(distinct 列名):根据指定的列统计记录总数,不包含重复的记录,不包括NULL或空的值。select distinct 列名1,列名2,列名3…select distinct 列名 from 表;也可以使用count(2)、count(3)等等。count(distinct 列名)原创 2024-06-13 12:24:45 · 4703 阅读 · 0 评论 -
SQL聚合函数---汇总数据
此篇文章内容均来自与mysql必知必会教材,后期有衍生会继续更新、补充知识体系结构。原创 2024-06-12 13:16:23 · 791 阅读 · 0 评论 -
Mysql中concat()和concat_ws() 的用法
如果分隔符为 NULL,则结果为 NULL。函数会忽略任何分隔符参数后的 NULL 值。但是CONCAT_WS()不会忽略任何空字符串。(然而会忽略所有的 NULL)1、2 select CONCAT(“北京”,“:”,“上海”) AS 根据字符串拼接 from。1、3 select CONCAT(“北京”,NULL) AS 根据NULL from。根据null进行拼接,只要出现null的情况下,所有内容都为null。根据字段中的具体内容进行拼接,从而生成新的内容且真是存在,第一个参数是其它参数的分隔符。原创 2024-06-12 11:53:53 · 2427 阅读 · 1 评论 -
mysql表级锁(表锁/元数据锁/意向锁)
元数据锁主要是面向DML和DDL之间的并发控制,如果对一张表做DML增删改查操作的同时,有一个线程在做DDL操作,不加控制的话,就会出现错误和异常。元数据锁不需要我们显式的加,系统默认会加。表锁是锁住整张表,通过不同的表锁设置,控制并发访问。某些引擎不支持行锁,需要通过表锁来控制并发。支持行锁的引擎,就不建议使用表锁了。第一个session窗口,对表进行读锁的情况下,会有错误的提示。与表锁共享锁及排它锁互斥,意向锁之间不会排斥。3.读锁之间不互斥,读写和写写之间都互斥。与表锁共享锁兼容,与表锁写入互斥。原创 2024-06-04 18:42:40 · 705 阅读 · 0 评论 -
mysql的锁(全局锁)
2、如果从库上备份,备份期间从库不能执行主库同步过来的二进制日志会导致主从延迟。1、如果在主库上备份,备份期间都不能执行更新。,通俗的来说只能读取,不能写入,:当所有所有表被锁后,原创 2024-06-03 23:05:52 · 749 阅读 · 1 评论 -
mysql触发器triggers
为 user 表创建名为 user_insert_trigger 的触发器,触发器内容是当user表执行insert操作后,执行INSERT INTO user_operation(operation_type, operation_content) values (‘insert’, CONCAT(‘添加后的数据:’, new.name));这个sql语句,语句中可以通过new.的形式拿到insert 到 user表的数据。这里除了new.外还有old.添加insert类型)原创 2023-09-20 17:25:11 · 289 阅读 · 0 评论 -
Mysql存储-变量、函数、游标、判断、循环
用户定义变量是用户根据需要自己定义的变量,用户变量不用提前声明,在用的时候直接用“@变量名”使用就可以。其作用域为当前连接(会话)。语法:赋值SELECT 字段名 INTO @var_name FROM 表名;调用:-- 自定义变量-- 查看自定义变量。原创 2023-09-20 15:32:33 · 402 阅读 · 0 评论 -
mysql---视图详解
提示:视图最大的优点用来协助用户提高查询效力以及保护数据安全。原创 2023-09-13 17:43:42 · 383 阅读 · 2 评论 -
mysql检查表、分析表、优化表
对数据库的管理常规就是进行预防性的维护,以及修复那些出现问题的内容。进行检查和修复通常具有1. 对表进行优化2. 对表进行分析(分析并存储MyISAM和BDB表中键的分布)3. 对表进行检查(检查表的错误,并且为MyISAM更新键的统计内容)4. 对表进行修复(修复被破坏的MyISAM表)原创 2023-09-10 19:21:18 · 866 阅读 · 0 评论 -
mysql数据文件
提示:mysql相关系列的教程和笔记不断持续更新和完善。原创 2023-09-01 00:46:50 · 565 阅读 · 0 评论 -
linu系统卸载centos自带的jdk、手动安装jdk
之后 可以执行 source /etc/profile 让配置文件生效,最后查看即可。tar -zvxf jdk-8u161-linux-x64.tar.gz解压即可。jdk已经被安装,如果需要其他版本的即可卸载,重新安装即可,将jdk包上传到相应的文件下/usr/local/下进行解压。1.查看系统中是否有自带的jdk或者已经被安装。3、环境配置vim /etc /profile。这个是centos系统自带的jdk,2、rpm和手动安装选中其中方式即可。1、jdk官网下载相应的jdk版本。原创 2023-08-20 19:06:55 · 843 阅读 · 0 评论 -
mysql主从复制最简单环境搭建(一主一从)
主从复制是指将主数据库的DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制。原创 2023-08-19 14:47:26 · 301 阅读 · 0 评论 -
Mysql复制类型、主从复制集群种类、主从复制原理
Mysql内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的 数据复制到其它主机(slaves)上,并重新执行一遍来实现的。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更 新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送到从服务器的更新。当一个从服务器连接主服务器时,它通知主服务器从服 务器在日志中读取的最后一次成功更新的位置。原创 2023-08-15 13:37:42 · 434 阅读 · 0 评论 -
MySql主从复制1032错误(Slave_IO_Running: Yes Slave_SQL_Running: No)
#忽略delete和key矛盾的记录继续往下走,默认为STRICT模式(我尝试之后可以解决)个人搭建mysql主从复制后,进行相关表的主从同步练习进行多次操作发现表数据的增加、删除、更新等操作进行。1.通过命令直接跳过同步(原创 2023-08-15 11:43:31 · 1956 阅读 · 0 评论 -
mysql主从复制搭建(一主一从)
介绍MySQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能。就是一台或多台MySQL数据库(slave,即从库)从另一台MySQL数据库(master,即主库)进行日志的复制然后解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySQL主从复制是MySQL数据库自带功能,无需借助第三方工具。原创 2023-08-15 02:42:24 · 4810 阅读 · 0 评论 -
mysql--InnoDB存储引擎--架构和事务
个人理解:表空间表示一本书,段表示书中的章节,区表示每章节的小节,页表示书的每一页,行就是每页的每行数据。表空间里有多个段,一个段包含256个区,一个区包含64个页,一个页为16K。原创 2023-08-01 22:20:18 · 1112 阅读 · 0 评论 -
MySQL二进制日志(binlog)配置、二进制日志binlog查看、mysqlbinlog查看二进制日志、二进制日志binlog清理等详解
提示:MySQL 中的日志比较重要的有 binlog(归档日志)、redo log(重做日志)以及 undo log,那么跟我们本文相关的主要是 binlog,另外两个日志松哥将来有空了再和大家详细介绍。原创 2023-07-30 19:35:41 · 2005 阅读 · 0 评论 -
MySQL---逻辑备份、物理备份/冷备 、热备与温备/完全备份、完全备份、完全备份
逻辑备份是备份命令通过查询并获取数据库信息和库内对象(表)的信息来完成的。逻辑备份比物理备份慢,因为逻辑备份必须访问数据库的信息和库内对象信息并将其转换为指定的格式才算备份完成。逻辑备份输出大于物理备份,尤其是在以文本格式保存时。逻辑备份与恢复粒度分为服务器级别(MYSQL服务器下所有数据库)、数据库级别(指定的数据库下所有的表)、表级别。与你是哪种存储引擎没有关系。逻辑备份不包括日志或配置文件。物理备份主要用于快速恢复发生严重故障或急需恢复的大型数据库。原创 2023-07-17 02:04:07 · 521 阅读 · 0 评论 -
mysql分区表 -列表分区(list prtition)
LIST COLUMNS分区表,分区字段支持使用CHAR VARCHAR DATE等数据类型。普通的LIST分区表分区字段必须是INT类型。和range分区一样,可以使用alter table …原创 2023-07-16 23:16:32 · 1212 阅读 · 0 评论 -
Mysql分区表------范围分区表(新增、删除、重组、查看)
当我们删除p1分区以后,p1分区原来的分区区间定义将由他后面的分区定义区间所继承。而且数据将会被删除。– 查询p0和p1分区。根据以上命令可以查询分区的相关数据库信息。表的分区结构中新建的4个分区已新建。由此可见4个分区文件生成。原创 2023-07-14 19:32:40 · 5561 阅读 · 0 评论 -
Mysql分区表----分类、优势、特点、优点
mysql在以上三种情况下可以进行表分区。原创 2023-07-14 17:37:32 · 632 阅读 · 0 评论 -
Mysql---InnoDB 逻辑存储结构表空间、段、区、页的关系
提示:Mysql—InnoDB 逻辑存储结构表空间、段、区、页的关系。原创 2023-07-13 16:27:35 · 557 阅读 · 0 评论 -
Mysql常用存储引擎------MyISAM存储引擎
创建 MyISAM 表的时候,如果指定了 DELAY_KEY_WRITE 选项,在每次修改执行完成时,不会立刻将修改的索引数据写入磁盘,而是会写到内存中的键缓冲区(in_memory key buffer),只有在清理键缓冲区或者关闭表的时候才会将对应的索引块写入到磁盘。MyISAM 也支持全文索引,这是一种基于分词创建的索引,可以支持复制的查询。执行完上面的代码,会在hr数据库目录文件下,创建四个文件:db.opt -----> 主要记录当前数据库的默认字符集及字符序等信息(已经有了)原创 2023-07-13 12:26:15 · 1205 阅读 · 0 评论 -
MySQL物理文件----日志文件(错误日志、通用查询日志、二进制日志、慢查询日志)
log_queries_not_using_indexes:ON 表示会记录所有没有利用索引来进行查询的语句,前提是 slow_query_log 的值也是 ON,否则,不会奏效,OFF 表示不会记录所有没有利用索引来进行查询的语句。long_query_time:指定了慢查询的阈值,单位是秒,即执行语句的时间若超过这个值则为慢查询语句。slow_query_log_file:记录慢查询日志的文件地址(默认为主机名.log)查看当前服务器所有的二进制日志文件。查看所有的二进制日志参数。原创 2023-07-12 20:02:19 · 1509 阅读 · 0 评论 -
mysql临时表(temporary table)详解
* * 1. 作用:临时表用来保存一些 '临时数据' 2. 注意:(1) 临时表只在 '当前连接' 可见,当关闭连接时,Mysql 会 '自动删除表数据及表结构'(2) 临时表 和 普通表 用法一样,用关键字 'temporary' 予以区别 * * *原创 2023-07-10 00:29:19 · 15999 阅读 · 0 评论 -
mysql查看引擎、默认引擎、表引擎
MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,原创 2023-07-09 15:06:41 · 2013 阅读 · 0 评论 -
mysql中desc的两种用法---1、查询表结构和降序
PS:此处desc是describe的缩写,用法: desc 表名/查询语句。手动指定按照薪水由大到小排序(降序关键字desc)手动指定按照薪水由小到大排序(升序关键字 asc)原创 2023-07-08 21:30:05 · 3370 阅读 · 0 评论