自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 (新手友好)MySQL学习笔记(完):事务和锁

强制事务串行执行,不会出现并行事务,所以就解决了脏读,不可重复读,幻读的问题,该隔离等级会读取的行上添加行锁以及隔离锁以避免幻读问题,同时对于读取操作加入共享锁,写入操作加入排他锁,值得一提的串行化虽然能够避免所有有关一致性的问题,但是因为它并发性能低,容易死锁,效率低,在一般项目中很少用,更多的还是使用可重复读或提交读。:一个事务读到另一个事务未提交的数据就是脏读,因为一个事务对于一条记录做修改,在该事务未提交前所做的修改随时有可能回滚,因此被另一个事务读到并回滚的数据就是脏数据。

2025-07-16 23:23:17 683

原创 (新手友好)MySQL学习笔记(12):触发器,视图,三范式

第一范式怎么要求,举个例子,如果考虑地址字段(河南省郑州市高兴区知行街135号)是否符合第一范式,如果经常访问地址中的城市部分,这个字段就不符合第一范式,需要进行拆分,可以拆分成河南省,郑州市,高兴区知行街135号。临时表算法:将视图的查询结果存放到临时表里,需要访问视图时,直接访问这个临时表,优点是可以处理复杂查询,缺点是引入了创建表的性能开销。完全依赖是指,联合主键时,其他字段不可以只依赖主键中的某个字段,必须依赖联合主键中的每一个字段。update:可通过old访问被删除的行,old中的值是只读的。

2025-07-09 13:33:49 775

原创 (新手友好)MySQL学习笔记(11):索引(前缀索引,聚簇索引,覆盖索引,最左前缀原则,索引设计原则,索引使用原则,索引失效的常见场景)

因为建立的索引实际上是从整个字符串的第一个开始进行比较排序的,所以使用like的时候,也只能重新开始比较,如果出现’%abc‘,那么查询的就是以abc结尾的数据,就无法使用索引,因为要一个个遍历数据去寻找以abc结尾的数据。8.在使用or进行查询时,or前后出现非索引字段时,索引失效:在使用or进行查询操作时,只有or的前后字段都为索引中的字段时,整个查询才会引用索引,一旦or的前后出现任意一个非索引字段,就会使索引失效。1.过滤条件上使用!,唯一索引的选择性是1,这是最好的索引选择性,性能也是最好的。

2025-06-28 15:55:30 1084

原创 (新手友好)MySQL学习笔记(10):索引(使用索引,索引表,ICP(索引下推)运行逻辑)

在创建索引时会将索引字段的值和指向实际数据的指针,存储到一个特殊的数据结构,这个结构就是存储表,存储表并非临时表,而是创建后会一直保存在数据库中直到删除索引。并且当表中数据修改(增,删,改)时,数据库会自动维护相应的索引表,以保持数据的一致性。相当于创建了3个索引,这三个索引分别以(学号),(学号,姓名),(学号,姓名,专业)为索引字段,因此数据库也会创建三张索引表。range:扫描部分索引,索引范围扫描,对索引的扫描开始于某一点,返回匹配域的行,常见于between,<,>等的查询。

2025-06-18 14:00:00 871

原创 (新手友好)MySQL学习笔记(9):索引(常见索引类型,查找结构的发展(二分查找法,二叉搜索树,平衡二叉树,B树,B+树))

哈希索引不支持范围查找的原因:哈希索引只包含哈希值和行指针,通过找哈希值通过行指针来找到要查找的数据,存储时输入的数据通过哈希函数映射出一个哈希值,但是哈希值是无序的,就像1,2映射出的哈希值就可能是5678和1234,因此哈希索引每查询一个就要全盘扫描来寻找下一个要查询的哈希值,因此哈希索引不支持范围查询。如果哈希冲突很多的话,索引的维护代价会很高。平衡二叉树随着节点的增加,树的高度会越来越高,会增加磁盘的I/O次数,影响查询效率,从而引出了B树,B树不限制一个节点只能由2个子节点,从而降低树的高度。

2025-06-16 23:18:03 1032

原创 (新手友好)MySQL学习笔记(8):存储过程,自定义函数,游标

创建函数:实现检验登录的账号密码是否正常创建账号信息表:(自增id,name,password)并存入数据创建一个函数:传入两个参数函数返回结果:(1)用户不存在(2)密码错误(3)登陆成功valuesbeginreturn '用户不存在';return '密码错误';elsereturn '登陆成功';end if;end;

2025-06-11 23:43:02 989

原创 (新手友好)MySQL学习笔记(7):连接查询,子查询

连接查询连接查询这里更多的时需要自己动手去操作着理解,所以尽可能的给例子,更多的给大家练习。多表连接查询就是从多个表中获取数据,若两张表进行连接查询的时候没有任何条件限制,最终的查询结果总数就是两张表记录的乘积,该现象被称为。内连接根据连接条件从多个表中查询选择数据,显示这些表中与连接条件相匹配的行,组合成新的记录。分类:等值查询:连接条件为相等判断的非等值查询:连接条件不为相等判断。

2025-06-08 11:28:36 966

原创 (新手友好)MySQL学习笔记(6):分组查询,正则表达式

分组查询分组查询创建分组groupby子句根据一个或多个字段对结果集进行分组在分组的字段上可以使用countsumavg等聚合函数但是聚合函数不能出现在group by的后边这点与where一样。下面给两个例子以区分where与groupby的适用场景注意:如果分组列中具有NULL值,则NULL值将作为一个分组返回,如果列中有多行NULL值,它们将作为一组。

2025-06-05 22:08:06 706

原创 (新手友好)MySQL学习笔记(5):查询处理,函数

查询处理查询处理排序ORDERBY对查询结果按指定字段进行排序。也可以指定select列表中的列的序号进行排序。因为查询时不是按照主键排序的,因此就算有主键还是要使用order by语句进行排序查询如果我们按照学号顺序在学生表中查询学生如果我们按照学号逆序在学生表中查询学生限制数量LIMIT 限制数量select语句返回所有匹配的行甚至可能是整张表中的所有行。使用limit语句就可以指定展示。

2025-06-03 21:46:05 1116

原创 (新手友好)MySQL学习笔记(4):DML(数据操作语言),约束

DML(数据操作语言DML(数据操作语言DataManipulationLanguage用于操作数据库中的实际数据如对数据进行增删改查。插入数据插入完整的行所有字段每一个字段都必须提供一个值如果某个字段没有值应该填入NULL并且插入时数据的顺序必须与表中的字段顺序相同。语法比较简单但是不安全应该避免使用,所以一般都是用更下面的语句进行插入。更安全的方法是在。

2025-05-31 12:48:11 805

原创 (新手友好)MySQL学习笔记(3):数据类型,DDL(数据定义语言)

varchar(10)中的10的涵义时最多存放10个字符,varchar(10)和varchar(20)存放hello时所占的空间相同,但是排序时会按照可存放的最多字节排序,所以varchar(20)排序时会消耗更多的内存。存储时数据长度不够时虽然在后边补空格,但是查询时会自动去除空格,举个例子char(4)类型,存储4个字符,我们存储“ab ”三个字符,库中存储成“ab ”四个字符,查询时则会查询出“ab”,尾部的空格会被删除。再说说varchar(10)和varchar(20)有什么区别。

2025-05-30 08:00:00 807

原创 (新手友好)MySQL学习笔记(2):基本查询,运算符以及相应的查询练习

基本查询查询指定字段这个查询语句可以查询指定表中的指定字段的所有数据下面我们举个例子,我们需要查询员工表中的所有员工名和薪水,就用下面的语句结果如下或者仅查询员工名,就用下面的语句结果如下查询全部字段当我们需要查询一张表中的全部数据时就不能指定字段了用代替举个例子我们需要查询员工表中的所有数据,就用下面的语句结果如下使用条件:使用where语句,放在from后,可以查询表中符合。

2025-05-29 08:00:00 880

原创 (新手友好)MySQL学习笔记(1):了解常见数据库,数据库的主要概念,数据库的基本命令

当前主流数据库分为和,这是由它们的数据结构的差异区分的。将数据储存在表中的数据库,以二维表为数据结构。表和字段类型之间的关系需要明确定义,比如创建一个student表,我们就可以在表内创建学号id,姓名sname等字段,这在我们接下来的操作中确保了数据的和,关系型数据库主要以为操作指令,也称作。

2025-05-28 23:45:11 1088

原创 DP学习笔记(8):完全背包求方案数,01背包求具体方案

在上一篇我们学习了01背包求方案数,今天我们学习完全背包求方案数。首先我们要区分一下01背包和完全背包的区别,。我们在学习01背包求方案数时,要将,在完全背包上我们需要多选,所以将就可以满足我们的需求核心的状态和状态转移方程都是一样的下面我们使用一道例题来验证我们的想法是否正确。

2025-03-06 21:00:31 1311

原创 DP学习笔记(7):有依赖背包,背包求方案数

设 主件的重量main_w[N] 价值main_c[N],附件的重量sec_w[N][N],价值sec_c[N][N]那么01背包的状态转移方程是不是就的状态转移方程假设有两个附件需要选择,那么选附件的情况就有三种sec_w[i][1] 的就把看作一个重量,看作一个价值将只选主件中的和替换就得到了选附件1的状态转移方程下面选附件2和附件1,2同理,不多阐述直接上状态转移方程下面用一道例题来验证我们的状态转移方程是否正确。

2025-03-05 23:21:54 1375

原创 DP学习笔记(6):二维费用背包,分组背包

所以我们的dp序列可以在的情况下采用二维数组来表示状态,,如果,就需要使用三维数组作为dp序列,这样的话时间复杂度就是,一旦数据稍大就容易超时。设两个背包M1,M2,下面是二维费用背包的状态和状态转移方程状态:dp[j][k]前i件物品在背包M1的容量不超过j 背包M2的容量不超过k的情况下的最小/最大 价值状态转移方程:我们借一道例题来分析状态转移方程。

2025-03-05 11:28:30 940

原创 DP学习笔记(5):多重背包,多重背包优化:二进制分解,混合背包

一个旅行者有一个最多能装V公斤的背包,现在有n件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为C1,C2,...,Cn。第2..N+1行:每行三个整数Wi,Ci,Pi,前两个整数分别表示每个物品的重量,价值,第三个整数若为0,则说明此物品可以购买无数件,若为其他数字,则为此物品可购买的最多件数(Pi)。接下来n行,每行3个数,v、w、s,分别表示第I种奖品的价格、价值(价格与价值是不同的概念)和能购买的最大数量(买00件到ss件均可),其中v≤100,w≤1000,s≤10。

2025-02-27 19:46:35 485

原创 DP学习笔记(4):01背包朴素版,01背包滚动数组优化,完全背包

但每种物品的数量是无限的,同时有一个背包,最大载重量为M,今从n种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于M,而价值的和为最大。一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品,它们的重量分别是W1,W2,...,Wn,它们的价值分别为C1,C2,...,Cn,求旅行者能获得最大总价值。第一行:两个整数,M(背包容量,M≤200)和NN(物品数量,N≤30);第一行:两个整数,M(背包容量,M≤200)和N(物品数量,N≤30);仅一行,一个数,表示最大总价值。

2025-02-27 19:28:01 344

原创 DP学习笔记(3):最长回文子序列,多序列DP:最长公共子序列,多序列DP:编辑距离

i j下标 1 2 3 4 5 6 7a[] 1 3 2 5 3 7 1 状态:dp[i][j] 区间[i][j]的最长回文子序列的长度状态转移方程:if(a[i]==a[j]) dp[i][j]=dp[i+1][j-1]+2else dp[i][j] = max(dp[i + 1][j], dp[i][j - 1])注释:这里 解释一下为什么 i 要从后往前 因为根据状态转移方程 if(a[i]==a[j]) dp[i][j]=dp[i+1][j-1]+2else dp

2025-02-21 21:39:28 543

原创 DP学习笔记(2):最大子矩阵,最长上升子序列,最长不下降序列(包括输出路径)

已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 × 1)子矩阵。比如,如下4 × 4的矩阵9 2 -6 2的最大子矩阵是9 2-4 1-1 8这个子矩阵的大小是15。【输入】输入是一个N×N的矩阵。输入的第一行给出N(0<N≤100)。再后面的若干行中,依次(首先从左到右给出第一行的N个整数,再从左到右给出第二行的N个整数……)给出矩阵中的N2个整数,整数之间由空白字符分隔(空格或者空行)。

2025-02-20 21:36:36 419

原创 DP学习笔记(1):了解DP,路径/网格dp,序列dp

动态规划(Dynamic Programming,DP)是一种解决复杂问题的算法思想,。其核心目标是避免重复计算,提升效率,尤其适用于具有以下特点的问题。

2025-02-19 21:23:41 624

原创 奥赛一本通——1098:质因数分解

题目描述已知正整数n是两个不同的质数的乘积,试求出较大的那个质数。【输入】输入只有一行,包含一个正整数 n。对于60%的数据,6≤n≤1000。对于100%的数据,6≤n≤2×10^9。【输出】输出只有一行,包含一个正整数 pp,即较大的那个质数。【输入样例】21【输出样例】7。

2025-01-11 12:00:00 1252

原创 第十二届蓝桥杯真题——卡片

小蓝有 k 种卡片, 一个班有 n 位同学, 小蓝给每位同学发了两张卡片, 一 位同学的两张卡片可能是同一种, 也可能是不同种, 两张卡片没有顺序。没有 两位同学的卡片都是一样的。给定 n, 请问小蓝的卡片至少有多少种?

2025-01-10 14:15:04 771

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除