mysql
文章平均质量分 76
代码搬运工...
这个作者很懒,什么都没留下…
展开
-
MySQL分组统计个数并计算百分比
参考博客:https://blog.csdn.net/qq_45752401/article/details/125748211。方式一:也是我一开始使用的方式,但如果只对原表操作还好,如果对子查询形成的临时表在进行统计总个数,是怎么也求不出来。业务场景:经常有分组后计算各类型数量及所占百分比的需求,但是分完组后拿不到原来整体的数据。方式三:使用窗口函数sum() over(),推荐这种方式。现在要统计各种爱好的数量及所占百分比。person表结构,一共10条数据。方式二:使用join。原创 2023-04-20 16:13:36 · 3288 阅读 · 3 评论 -
MySQL之DQL
(只要有一行数据count则++)因为每一行记录不可能都为NULL,一行数据中有一列不为NULL,则这行数据就是有效的。having不能单独使用,having不能代替where,having必须和group by联合使用。结论:在一条select语句中,如果有group by语句的话,select后面只能跟:参加分组的字段,以及分组函数,其他的一律不能跟。优化策略:where 和 having,优先选择where,where实在完成不了了,再选择having。NULL只要参与运算,最终结果一定是NULL。原创 2023-04-06 15:22:51 · 260 阅读 · 0 评论 -
MySQL之事务
一个事务其实就是一个完整的业务逻辑。是一个最小的工作单元,不可再分。比如转账操作,一组操作,要么同时成功,要么同时失败。只有DML语句才会有事务一说,insert,delete,update事务:就是批量的DML语句同时成功,或者同时失败怎么提交事务,怎么回滚事务? 提交事务:commit;语句 回滚事务:rollback;语句(回滚永远都是只能回滚到上一次的提交点)mysql默认情况下是支持自动提交事务的(每执行一条DML语句,则提交一次)怎么将mysql的自动提交机制关闭掉?原创 2023-04-06 15:03:00 · 111 阅读 · 0 评论 -
DDL&DML
DDL,Data Definition Language 数据定义语言,用来定义数据库对象(数据库,表,字段) update 表名 set 字段名1=值1,字段名2=值2,字段名3=值3… insert into 表名(字段名1,字段名2,字段名3…)values(值1,值2,值3);注意:如果提供的日期字符串是这个格式,str_to_date函数就不需要了。 表中的数据被删除了,但是这个数据在硬盘上的真实存储空间·不会被释放。,并且获取的时间带有:时分秒信息,是datetime类型的。原创 2023-04-06 14:32:56 · 85 阅读 · 0 评论