数据库
放学杀猪
这个作者很懒,什么都没留下…
展开
-
Left join中on和where的选择
left join 左连接,查询时以左表为主,右表中无关联信息则查询显示为空。在使用左连接进行查询时,在某些情况下on和where的选择会导致结果集的数据缺失。以kingdom表和hero表的查询为例kingdom表hero表查询一查询每个kingdom下的全部男性hero分析:查询每个kingdom下的男性hero,意味着需要查询出全部kingdom(即使没有英雄也应该查询显示出来,适合用左连接)测试正确: SELECT * FROM kingdom k left JOIN.原创 2020-08-04 13:31:59 · 389 阅读 · 0 评论 -
简单实现将JDBC ResultSet结果集映射成对象
简介JDBC查询返回ResultSet结果集,调用方法,传入要映射的对象的Class对象,利用反射获取该对象声明的全部属性,然后通过结果集获取列名,与对象的属性进行匹配然后赋值。(目前未实现泛型,只是简单的进行了结果处理,代码也存在不合理的地方)实现Book.javapublic class Book { private int id; private String bookname; private String bookauthor; priv.原创 2020-06-13 12:03:34 · 2763 阅读 · 0 评论 -
MySQL中GROUP_CONCAT和Having的使用
一、GROUP_CONCAT如图所示,是一个成绩表。通过SQL:SELECT classId AS 班级, count( * ) AS 人数, GROUP_CONCAT( NAME ) AS 学生 FROM `score` GROUP BY classId可以查询每个班的人数以及全部学生名字。二、Having接上面的学生表,添加集合函数AVG(),查询每个班级的平均分。SQL:SELECT classId AS 班级, count( * ) A原创 2020-05-17 22:55:49 · 1184 阅读 · 0 评论 -
mysql查询优化
参考链接https://mp.weixin.qq.com/s/RdNKvtHLeWY53P0Jcev-AA1.尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 了解索引可参考https://www.cnblogs.com/weizhixiang/p/5914120.html2.应尽量避免在 where 子句中对字段进行 null 值...转载 2018-12-04 10:44:41 · 131 阅读 · 0 评论 -
理解数据库三大范式
一、什么是范式范式就是在创建数据库是为了减小冗余,使结构合理而设计的必须遵循的规则,是在设计关系型数据库时必须满足的要求。二、三大范式1.第一范式第一范式是确保每列的原子性,即保证所有字段都是不可分解的原子值。如上图为一个用户表,address字段包含了省、市、详细地址,这样设计是不满足第一范式的。将address字段划分成省份、城市、详细地址,这样对每个字段都可以进行单独...原创 2019-05-26 09:51:05 · 340 阅读 · 0 评论