![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 92
猫头姐姐
知名互联网高级菜鸟全栈程序媛
展开
-
【SQL】【mysql/hive】根据某字段排序后取第一行数据
select * from (SELECT name, sex, row_number() over (partition by name ORDER by age DESC) AS numFROM tableA ) a WHERE a.num=1 ```原创 2020-07-09 15:55:43 · 2886 阅读 · 0 评论 -
【SQL】sql注入风险修复方法
一、MyBaties中#{}和${}的区别'#'相当于对数据 加上 双引号,$相当于直接显示数据。我们经常使用的是#{},一般解说是因为这种方式可以防止SQL注入,简单的说#{}这种方式SQL语句是经过预编译的,它是把#{}中间的参数转义成字符串,举例:select * from table_A where name = #{name} 预编译后,会动态解析成一个参数标记符?:select * from table_A where name = ?而使用${}在动态解析时候,会传入参数字符串原创 2020-06-13 16:02:14 · 3445 阅读 · 0 评论 -
【SQL】关于mybatis的sql一些参数
SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式。statement是要运行的SQL语句,它的返回值通过resultType来指定before表示查询语句statement运行的时机keyProperty表示查询结果赋值给代码中的哪个对象,keyColumn表示将查询结果赋值给数据库表中哪一列keyProperty和keyColumn都不是必需的,有没有都可以before=true,插入之前进行查询,可以将查询结果赋给key原创 2020-06-08 20:11:12 · 384 阅读 · 0 评论 -
【SQL】mybatis注解操作数据库结合标签语法总结
博主作为一个常常记不住语法的人……给操作数据库中常常要用到的便签语法总结一下便签语言与注释结合的时候,必须用<script></script>给包住1、最基本的if语法@Select("<script>" +" select name from test_table " +" <if test='name != null'> \n...原创 2020-03-15 16:50:04 · 189 阅读 · 0 评论 -
【数据库】大数据量下优化on duplicate key update造成的性能问题
insert into xxx on duplicate key update xxx=xxx语句可以优秀地解决插入数据时产生的重复主键问题,前提是设置了正确的unique key。但在大数据量情况下(超过1w条),在duplicate key较少的情况下仍表现良好,遇到duplicate key较多的场景下,执行效率出现断崖式降低。为了解决此问题,优化点1:可采用先update再进行in...原创 2020-03-05 15:33:38 · 16732 阅读 · 1 评论