mysql
文章平均质量分 78
See_NUMB
这个作者很懒,什么都没留下…
展开
-
MySQL8出现问题:Public Key Retrieval is not allowed
今天在看JDBC 中 SPI服务源码的时候,连接本地的MySQL居然出现问题,报错com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval is not allowed。解决方法:在连接URL后面添加allowPublicKeyRetrieval=true。例如,我的URL是jdbc:mysql://localhost:3306/blog?useUnicode=true&原创 2021-08-31 16:56:32 · 156 阅读 · 0 评论 -
MySQL中的最左匹配原则和匹配列前缀
最左匹配原则MySQL为了提高查询数据的效率,设计了索引,也就是b+树。b+树的特点是同层的节点是双向链表连接的,目的就是为了能够在同层快速定位。假如我们为c1、c2列建立索引,那么b+树的同层节点就是根据c1、c2的大小升序排列的。当c1列相等的时候,就按照c2列的大小排序,如果c2列相等,那就根据主键ID排序,这样二叉树节点的排列顺序就是一定的。这样最左的节点的值是最小的,最右边的值是最大的。那么我们使用查询语句:SELECT * FROM person_info WHERE c1 = .原创 2021-04-22 18:31:08 · 573 阅读 · 0 评论 -
InnoDB数据页结构
文章目录1. 简介2. 页结构3.1 记录头信息1. 简介页是InnoDB管理存储空间的基本单位,一个页的大小一般是16KBInnoDB 为了不同的目的而设计了许多种不同类型的 页 ,比如存放表空间头部信息的页,存放 Insert Buffer信息的页,存放 INODE 信息的页,存放 undo 日志信息的页等等。2. 页结构名称中文名占用空间大小(字节)描述File Header文件头部 3838页的一些通用信息Page Header页面头部56数原创 2021-04-01 09:06:33 · 165 阅读 · 0 评论 -
MySQL如何存储数据?(InnoDB的Compact行格式)
文章目录1. 概要2. compact行格式2.1 示意图2.2 记录的额外信息2.2.1 变长字段长度列表2.2.2 NULL值列表2.2.3 记录头信息2.2.4 记录的真实数据1. 概要InnoDB有4种不同类型的行格式 ,分别是 Compact 、 Redundant 、Dynamic 和 Compressed 行格式。指定和修改行格式CREATE TABLE 表名 (列的信息) ROW_FORMAT=行格式名称ALTER TABLE 表名 ROW_FORMAT=行格式名称2.原创 2021-03-27 11:28:13 · 418 阅读 · 0 评论 -
MySQL出现乱码怎么办?(字符集的理解)--下
首先回答题目,可以直接在MySQL黑框里面设置输入SET NAMES GBK;文章目录1.1 客户端和服务端通信中的字符集1.2 MySQL服务器中字符集的转换1.1 客户端和服务端通信中的字符集出现乱码,多半是因为编码字符集和解码字符集不一致导致的。1.2 MySQL服务器中字符集的转换系统变量描述character_set_client服务器解码请求时使用的字符集character_set_connection服务器处理请求时会把请求字符串从 characte原创 2021-03-25 18:38:24 · 95 阅读 · 0 评论 -
MySQL出现乱码怎么办?(字符集的理解)--上
首先回答题目,可以直接在MySQL黑框里面设置输入SET NAMES GBK;文章目录1. 字符集1.1 字符集简介1.2 常见字符集1.3 字符集比较2. MySQL中支持的字符集和排序规则2.1 MySQL中的utf8和utf8mb42.2 MySQL中支持哪些字符集2.3 比较规则的查看3.3 不同级别的字符集和比较规则3.3.1 服务器级别3.3.2 数据库级别3.3.3 表级别3.3.4 列级别3.3.5 修改字符集3.3.6 小结1. 字符集1.1 字符集简介将一个字符映射成一个二进制原创 2021-03-25 15:59:20 · 378 阅读 · 0 评论 -
MySQL中的系统变量有哪些?
文章目录1. 系统变量的简介2. 如何查看系统变量3. 设置系统变量3.1 通过启动选项设置3.2 在服务器运行时设置系统变量3.3 启动选项和系统变量的区别4. 状态变量1. 系统变量的简介MySQL 服务器程序运行过程中会用到许多影响程序行为的变量,它们被称为 MySQL 系统变量。举例说明,表示客户端连接数量会用系统变量max_connections表示,表的默认存储引擎用系统变量 default_storage_engine 表示,查询缓存的大小用系统变量 query_cache_siz原创 2021-03-25 09:07:02 · 1125 阅读 · 0 评论 -
初学MySQL
文章目录1. MySql的客户端、服务端架构2. bin目录下的可执行文件3. 客户端和服务器的连接过程4. 服务器处理客户端请求4.1 连接管理4.2 解析和优化1. MySql的客户端、服务端架构MySQL是一个C/S架构。客户端需要输入账号密码才能登录MySQL服务器,本地也是如此,客户将请求发送给服务端后,服务端根据请求的内容来操作具体的数据,并将结果发送给客户端。2. bin目录下的可执行文件可执行文件作用mysqldmysql服务程序,运行这个文件课运行MySQ原创 2021-03-17 20:42:40 · 132 阅读 · 0 评论 -
MySQL之触发器
文章目录触发器1. 触发器2. 创建触发器3. 删除触发器4.1 INSERT触发器4.2 DELETE触发器4.3 UPDATE触发器4.4 关于触发器的进一步介绍触发器1. 触发器如何能够使MySQL语句在某些时候自动执行,这就需要利用触发器。DELETE、INSERT、UPDATE语句能够支持触发器,其余语句不能支持触发器。2. 创建触发器创建触发器时需要给出下面4个信息唯一的触发器名触发器关联的表触发器应该相应的活动(DELETE、INSERT、UPDATE)触发器何时执行(处原创 2020-12-09 20:51:33 · 154 阅读 · 0 评论 -
MySQL之存储管理
文章目录存储过程1. 什么是存储过程2. 为什么要使用存储过程3. 使用存储过程3.1 执行存储过程3.2 创建存储过程3.3 删除存储过程3.4 使用参数3.5 建立智能存储过程3.6 检查存储过程存储过程1. 什么是存储过程存储过程简单来说就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批文件,虽然他们的作用不仅限于批处理。2. 为什么要使用存储过程将复杂的SQL语句封装在容易使用的单元中,简化复杂的操作。由于没有反复建立一系列处理步骤,这就保证了数据的完整性。不同的原创 2020-12-09 19:29:45 · 231 阅读 · 0 评论 -
MySQL通过group by分组查询时,没有数据补0
SELECT ROUND( SUM( recordTime ), 2 ) AS totalTimeOfOneDay, DATE_FORMAT( date, '%Y-%m-%d' ) FROM punchrecord WHERE studentID = '2019388888' GROUP BY DATE_FORMAT(date, '%Y-%m-%d')执行结果:这样的结果是不连续的,从9月17号直接跳到10月10号,当后端返回给前端后,画出的图标就不能很好的展现每天的时间情况。所以我原创 2020-10-13 11:32:25 · 3892 阅读 · 0 评论 -
mysql加入表约束(not null,unique,primary key,foreign key)
文章目录创建表加入约束非空约束(not null)唯一约束(unique)主键约束(primary key)外键约束,foreign key创建表加入约束常见的约束a) 非空约束,not nullb) 唯一约束,uniquec) 主键约束,primary keyd) 外键约束,foreign keye) 自定义检查约束,check(不建议使用)(在mysql中现在还不支持)非空约束(not null)非空约束,针对某个字段设置其值不为空,如:学生的姓名不能为空drop table原创 2020-10-07 10:54:14 · 2774 阅读 · 2 评论