- 博客(128)
- 收藏
- 关注
原创 mysql基础24——充分利用系统资源,优化系统配置
name 事件名称 enabled 是否启用了对这个事件的监控 timed 是否收集事件的时间信息。每一行对应一个进程 ,一个进程只有1行数据 显示的是每个进程中被监控到的查询事件。包含的查询事件都是已经完成了的 表中保存的记录数由系统变量决定。2表示 每次提交事务的时候把数据写入日志 但日志每隔1秒写入磁盘。查询当前系统中可以为每个进程保存的最大记录数的值 10。查询当前系统中该表可以保存的最大记录数的值 10000。表中每个进程保存的最大记录数由系统变量决定。该参数可选0 1 2。
2024-04-22 09:07:01
986
原创 mysql基础22——查询优化
where字段 like 'aa%' 筛选出所有以字段aa开始的记录。where字段 like '%aa' 筛选出所有以字段aa结尾的记录。where字段 like '%aa%' 筛选出所有包含字段的记录。where 表达式1 or 表达式2。
2024-04-22 09:06:13
330
原创 mysql基础21——范式与ER模型
弱实体 对另一个实体有很强的依赖关系的实体。比如超市把商品卖给顾客 就是超市与顾客之间的联系。在开发基于数据库的信息系统时,通常基于ER模型设计。3)1个1对1或者1对多的关系往往通过表的外键表达。强实体 不依赖于其他实体的实体。2)一个多对多的关系,通常也转换为一个数据表。比如超市的地址,联系电话等等。ER模型 描述现实生活中客观存在的。比如超市就可看作一个实体。1)一个实体通常转换为一个数据表。4)属性转换为表的字段。
2024-04-22 09:05:47
323
原创 mysql基础19——日志
通过数据库的全量备份和二进制日志中保存的增量信息完成数据库的无损失恢复 但是数据量巨大数据库和数据表很多 这种方法很有挑战性 因为起始位置不好找这时,配置主从数据库服务器比较合适 把二进制日志文件写入到中继日志,进而同步到从数据库服务器中,可以有效避免数据库故障导致的数据异常等问题。
2024-04-21 20:50:42
973
原创 mysql基础17——触发器
insert|update|delete 表示触发的事件 插入记录时触发 更新记录时触发 删除记录时触发。before|after 表示触发的时间 在事件之前触发 在事件之后触发。3)在操作数据前对数据进行合法性检查。表名:触发器监控的对象。1)保证数据的完整性。2)帮助记录操作日志。
2024-04-21 20:19:55
254
原创 mysql基础11——索引
帮助查看sql语句的执行细节。包括表的加载顺序 表是如何连接的 以及索引的使用情况。若有多个索引,而这些索引的字段同时作为筛选字段出现在查询中的时候,让这几个筛选字段同时发挥作用,就要用到组合索引了。
2024-04-21 19:38:00
200
原创 mysql基础9——时间函数
假设今天是2020年12月10日,计算这个月单品销售金额的统计 以及去年同期相比的增长率关键点是获取2019年12月10的销售数据 --> 计算2019年12月的起始和截至时间点就是关键1)使用date_add函数获取到2020年12月10日上一年的日期:2019年12月10日。
2024-04-21 19:21:16
1161
原创 mysql基础8——聚合函数
获取全部商品的销售总计数量和总计金额 把数据集整体看作一个分组计算。计算每天每种商品都有几次销售,需要按天按商品名称进行分组查询。然后通过翻页,跳转等功能按钮实现查询目标的精准锁定。count(字段) 统计有多少个不为空的字段值。计算每天,每种商品平均一次卖出多少个,多少钱。count(*) 统计一共有多少条记录。获取某个门店每天每种商品的销售总计情况。计算每天的一次销售的最大数量和最大金额。计算记录数使用count()函数。返回指定字段在分组中的最大值。返回指定字段在分组中的最小值。
2024-04-21 19:12:07
421
原创 mysql基础7——where与having的差异
要把所有信息都准备好,包括从关联表中获取的数据,对数据集进行分组,然后通过having条件筛选。例如 查询哪个收银员在哪天卖了2单商品 必须先分组才能筛选查询。查询每天每个收银员的销售数量和销售金额,可以。查询每天每个收银员的销售数量和销售金额。查询每天的销售数量和销售金额 (查询单笔销售金额超过50元的商品。
2024-04-21 19:05:24
480
原创 mysql基础6——多表查询
把分散在多个不同表里面的数据查询出来的操作,就是多表查询把两个表连接:使用外键(foreign key)和连接(join)外键在表创建的阶段定义也可以通过修改表定义,连接在查询字段把相同意义的字段连接起来外键就是从表中用来引用主表中数据的公共字段外键约束必须在从表中定义 指明哪个是外键字段以及外键字段所引用的主表中的主键字段将表关联起来之后,进行连接查询有两种连接方式 内连接和外连接内连接表示查询结果只返回符合连接条件的记录,较常用外连接表示查询结果返回某一个表中的所有记录,以及另外一个表中满
2024-04-21 18:56:36
247
原创 mysql基础1——数据存储
注:创建表的时候指明数据库 注意是。字段与字段之间使用 ' , '分隔。安装程序-->安装了数据库服务器。mysql数据表由行与列组成,数据表是存储数据的最主要工具。所有要做的第一件事是。extra:附加信息。
2024-04-21 18:20:32
390
原创 day60 接雨水 柱状图中的最大矩形
找到左面比当前柱子矮的,右面比当前柱子矮的作差得到宽(下标作差),当前柱子高度为高。n个宽度为1高度不一致的柱子排列,可以接多少雨水。求n个不同高度宽度为1的柱子勾勒出的最大面积。
2024-04-21 09:43:39
237
原创 day59 单调栈 每日温度 下一个更大元素Ⅰ 下一个更大元素Ⅱ
整数数组temperature表示每天的温度,返回数组answer使得answer[i]表示对于第i天,下一个更高温度出现在几天后,若没有,则用0代替。nums1和nums2是两个没有重复元素的数组,nums1是nums2的子集,找出nums1中的元素在nums2对应的下一个更大元素。第i个元素,和后面的元素逐个比较,返回第一个比该值大的元素距当前的位置。将nums1中的元素和下标进行一个映射,便于在nums2中寻找。中每个元素的下一个更大元素,若不存在输出-1。
2024-04-20 20:13:59
437
原创 day58 回文子串 最长回文子序列
dp[i][j] 表示 [s[i],s[j]]范围内的子串是否是回文串 若是则dp[i][j] = true。回文子串是正着读和倒过来读一样的字符串 子串是连续字符组成的一个序列。dp[i][j] 在[s[i],s[j]] 内最长回文子串的长度。} 两个for循环不能颠倒顺序,因为j的状态依赖于i的状态。根据dp数组定义 dp[i][j] = false;统计字符串s中回文子串的数目。找出回文子序列的最长长度。
2024-04-15 22:16:46
965
原创 day55 最长递增子序列 最长连续递增子序列 最长重复子数组
根据dp数组的定义 dp[i][j]以nums1[i-1]结尾 nums2[j-1]结尾 所以比较nums1[i-1]与nums2[j-1]之所以有等号,根据dp数组的定义 dp[i][j]以nums1[i-1]结尾 nums2[j-1]结尾。不用去比较nums[j]与nums[i] (j是在0到i之间遍历)根据dp数组定义 dp[i][0] 与 dp[0][j] 没有意义。dp[i] 表示以nums[i]为结尾的最长连续递增子序列的长度。dp[i] 表示以nums[i]为结尾的最长递增子序列的长度。
2024-04-10 20:20:17
870
原创 day54 买卖股票的最佳时机含冷冻期 买卖股票的最佳时机含手续费
dp[1][0] = dp[0][3]-prices[1] 第1天持有股票 dp[1][0]为-prices[1],那么dp[0][3]应该为0。dp[1][0] = dp[0][1]-prices[1] 第1天持有股票就是在第一天买入股票,dp[1][0]应该为-prices[1]dp[0][1] = 0 第0天保持卖出股票的状态无意义,所以根据递推公式。dp[0][0] = -prices[0] 第0天持有股票的状态。第0天持有股票 dp[0][0] = -prices[0]
2024-04-10 18:17:31
988
原创 启动mysql
删除C:\Program Files (x86)\MySQL\MySQL Server 5.7这个路径下的data文件夹,这个很难删除,因为一开机,mysql的某些服务就启动了,每次重新启动mysql之前,都要删除这个文件夹。然后在开始菜单栏 输入 services msc命令 打开服务面板,注意一定要选则MySQL57,点击右键,选择启动。选择CPU 在关联句柄搜索data 选择mysql下的data进程 右键点击结束进程,这样data文件就删除了。
2024-04-03 13:09:21
664
原创 day53 买卖股票最佳时机
整数数组prices中的元素prices[i]表示某支股票第i天的价格,在每一天可以决定是否购买和出售股票,在任何时候只能持有1股股票,可以在当天买当天卖,返回获得的最大利润。只能选择某一天买入这支股票,在未来的日子卖出该股票,计算能收获的最大利润,若不能获取任何利润,则返回0。整数数组prices中的元素pricces[i]表示给定的一支股票在第i天的价格。prices数组中的元素prices[i]是一支给定的股票在第i天的价格,根据递推公式,后面状态依赖于之前的状态,从前向后遍历。
2024-03-18 20:32:19
773
原创 day52 打家劫舍
偷窃房屋中的现金(每间房屋都有现金),如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警,每间房屋存放的金额是一个非负整数数组,在不触动警报装置的情况下,一夜之间能够偷窃到的最高金额。偷窃房屋中的现金(每间房屋内都有现金),所有房屋围成1圈,若两间房屋同一晚被偷,系统会报警,计算不触动警报的情况下,一晚能够偷的最大金钱数。偷i dp[i-1]+nums[i]和不偷i dp[i-1]每个节点只有2个状态,dp[0]表示不偷,dp[1]表示偷。考虑房屋i(包含i)偷得的最大现金数是dp[i]
2024-03-18 15:56:09
869
原创 多重背包及其应用
时间复杂度:O(m × n × k),m:物品种类个数,n背包容量,k单类物品数量。即在01背包的两层for循环内,加上一个物品个数的循环嵌套。在01背包的基础上,加上一个数量的循环判断。空间复杂度:O(n)
2024-03-16 15:04:31
442
原创 day50 完全平方数 单词拆分
使用字符串列表wordDict中的一个或多个单词拼接出字符串s,若可以拼接出,则返回true,若不能则返回false。求解和为n的完全平方数的最小数量,即求解n最少可以由几个完全平方数加和得到。dp[0] = 0 组成和为0的完全平方数的个数最少是0个。dp[j] 表示组成和为j的完全平方数最少有dp[j]个。完全平方数是一个整数,其值等于另一个整数的平方;代码(没有重新将完全平方数放入到一个数组中)完全平方数一定能够凑成,因为有1的存在。代码(将完全平方数放入到一个数组中)
2024-03-16 14:38:42
922
原创 零钱兑换Ⅱ 组合总和Ⅳ 爬楼梯(进阶) 零钱兑换
整数数组coins表示不同面额的硬币,计算可以凑成总和为amount的最小硬币数,若不存在这样的的组合,则返回-1 每种硬币的数量无限。代码 (之所以循环不是从j=0,i=0开始,是因为题目中描写的1
2024-03-15 13:36:18
947
原创 完全背包理论
因为dp[j] 是根据 下标j之前所对应的dp[j]计算出来的,先遍历背包,后遍历物品也可。相比于01背包的区别,先遍历物品后遍历背包,
2024-03-14 17:05:13
447
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人