MYSQL
文章平均质量分 69
MYSQL基础
枫念枫
一个吊车尾的学生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MYSQL增删改查
这个语句会让所有已经创建好的数据库显示出来。原创 2025-11-11 20:31:59 · 914 阅读 · 0 评论 -
MYSQL聚合函数
MySQL 聚合函数用于对一组值执行计算并返回单个值,常用于数据统计和分析。原创 2025-11-15 13:40:19 · 499 阅读 · 0 评论 -
MYSQL索引
仔细看,一开始我是创建了name和sn作为我的复合索引,之后我可以使用name查找的时候,他会告诉我使用了复合索引,为什么使用sn的时候不行,这是因为索引要遵循最左原则,就像一个列车,必须要有头,没有头的情况下是跑不起来的,所以后面那个他使用了全盘查找。普通索引,就是最基本的索引类型,一般来说就是设置在那些查找最多的字段上,来提高查询效率,最好重复率不高就类似于gender这种就没必要了,普通索引可以包含多个列,叫做。通过索引查询的,如果已经包含在索引中了,就不会回表查询,直接就返回了,就叫做索引覆盖。原创 2025-11-18 19:42:42 · 1337 阅读 · 0 评论 -
MYSQL事务
你数了下 “数学分 100” 的学生有 3 个(天才、老虎、小鸡);这时候你朋友新增了一个 “数学 100” 的学生 “猪八戒”,并且提交了;:你查了孙悟空的数学分是 98,然后没关页面;这时候你朋友把孙悟空的数学分改成了 0,并且提交了修改;简单来说就是因为事务有四大特性,可以不要考虑各种外界带来的问题,只要提交,或者回滚。类似于存档,在你回滚的时候可以回到你存档的某个点,不会全部都回滚回去。修改的语法:set autocommit =0/1/on/off;事务回滚之后,所有事务之内的操作都会被撤销。原创 2025-11-19 20:29:23 · 420 阅读 · 0 评论 -
数据库之增删改查
注意:UPDATE 和 DELETE 操作务必包含 WHERE 条件,否则会操作整个表的数据。原创 2025-11-11 19:14:32 · 361 阅读 · 0 评论 -
MYSQL视图
视图,视图,一张虚拟的表,级别是和table一样的,如果使用show tables命令的话,可以找到这个视图,不占空间,说白了就是一个查询的逻辑表示,类似于java中别人封装好的方法,你直接使用就行,在数据不想被完全展示出来让别人看到或者只想要显示想显示的时候就可以使用视图。造成这样的原理其实也很简单,你是视图,你是封装好的查询逻辑,如果你一开始就使用聚合函数或者是以上其中的任意一种,你都会或多或少的改变了原本表的内容,这个时候如果你还要对这个表中的东西进行修改就会搞错数据。原创 2025-11-16 18:59:43 · 372 阅读 · 0 评论 -
数据库的基本操作
在生产环境中,建议对这些操作设置权限控制,避免误操作导致数据丢失。所有删除操作都是不可逆的,执行前务必确认数据已备份或不再需要。注意:删除数据库会永久移除所有数据和表结构,操作前需确认。示例:创建一个包含基本字段的用户表。可选参数:指定字符集和排序规则。原创 2025-11-09 19:55:51 · 234 阅读 · 0 评论 -
MYSQL的三大范式
在数据库设计中,范式(Normalization)是用于减少数据冗余、提高数据一致性的规范化理论。:消除重复字段,确保每个字段都是最小逻辑单元(如将“联系方式”拆分为“电话”和“邮箱”)。通过遵循三大范式,可有效避免数据异常(如更新异常、插入异常)并优化数据库结构。要求数据库表的每一列都是不可分割的原子性数据,确保每一列的值为单一值。在满足2NF的基础上,消除传递依赖,即非主键列之间不能存在依赖关系。在满足1NF的基础上,要求非主键列完全依赖于主键,而非部分依赖。原创 2025-11-15 13:32:42 · 460 阅读 · 0 评论 -
MYSQL索引的底层数据结构
因为最坏的情况下,二叉搜索树可能会退化成一个单分支的数,这个时候的二叉搜索树其实和单链表没啥区别了时间复杂度都是o(n),并且数据库的数据是保存在磁盘上的,也就是相当于每次访问一个数据都要发生一次磁盘oi(开关)。因为一般来说我们存储的数据都是范围的存储,数据的左右多少都是有点关系的,但是哈希查找不是这样的,他说通过计算哈希值,把每个数据放到某个位置去,他不支持范围查找数据的关联系比较弱。树的高度被有效控制,查询数据的次数变少了,数据库的效率也提升了,为什么不使用呢,是因为有更好的B+树。原创 2025-11-16 20:23:36 · 215 阅读 · 0 评论 -
JDBC的使用
这段代码主要就是使用string类型定义了一个sql语句,然后通过statement.executeQuery(sql)去执行你写的sql语句,然后通过while循环,把查询到的东西全部遍历出来,注意这个时候需要类型要一一对应,最后使用了MessageFomat.format,这个是一个格式化工具,把你想要的输出的效果和你的参数一一对应就可以。-- 前面的’和前面就存在的‘拼凑在一起,然后又使用 or添加一个条件,因为这个1=1是真的,就会显示出来所有的数据然后写一个;原创 2025-11-21 20:14:11 · 1050 阅读 · 0 评论 -
MYSQL的页
页的主体,这里就是我们存写文件的地方,每一个新的页,都是会存在两行的,一个是最大行一个最小行,说白了就是类似于两个指针,模拟链表的头和尾,每当写入一个数据,next_record就会指向新的,就和链表的新增一样,最形成一个单链表。说白了就是在mysql中内存和磁盘最小的交互单元,大小是16kb,因为他是一整块一整块地址的申请,每次交互又读一页,你存储的数据或者想读取的一般来说都是相对靠近的,他一次读一页,就可以减少io的次数,性能自然就提高了。首先会找到这个页,然后去找到槽,然后再从分组里面找到改记录。原创 2025-11-16 20:24:36 · 524 阅读 · 0 评论 -
MYSQL的所有基础操作
/使用这个的时候最好是指定字符集和排序规则,因为版本不同的时候不指定会使用默认的容易出事。关键字就是where里面写的是条件,如果前面指定了别名,那么where里面不可以使用别名排序,这是因为 mysql的执行顺序是先from再where;2NF:要满足第一范式的情况下,消除部分函数依赖,只存在于复合主键之中,例如字段1和字段2依赖字段3,但是字段4和字段5依赖字段6;在使用联合查询的时候需要注意一下,mysql并不对最终的结果做校验,也就是如果两个表的字段不同,会导致显示出来的东西是很奇怪的;原创 2025-11-16 14:33:17 · 1265 阅读 · 0 评论
分享