SQL
一个善良的码农
做一个快乐的码农!
展开
-
sql 查出一张表中重复的所有记录数据
1、在面试的时候碰到一个 问题,就是让写一张表中有id和name 两个字段,查询出name重复的所有数据,现在列下:select * from xi a where (a.username) in (select username from xi group by username having count(*) > 1)2、查询出所有数据进行分组之后,和重复数据的重复次数的查转载 2016-12-12 23:12:03 · 449 阅读 · 0 评论 -
遇到的MySQL性能问题记录下
涉及到的表结构及数据如下:minute_time 点击表名下载month_show_data 点击表名下载以前的SQL如下:#explainselect a.minute ,IF(20=10,IFNULL(b.request_second,0),IF(20=20,IFNULL(ROUND((b.traffic_rcvd_second/1024),2),0),IFNULL(ROUND((b....原创 2018-06-15 14:42:12 · 305 阅读 · 0 评论 -
MySQL查询执行顺序
FORM: 对FROM的左边的表和右边的表计算笛卡尔积。产生虚表VT1ON: 对虚表VT1进行ON筛选,只有那些符合<join-condition>的行才会被记录在虚表VT2中。JOIN: 如果指定了OUTER JOIN(比如left join、 right join),那么保留表中未匹配的行就会作为外部行添加到虚拟表VT2中,产生虚拟表VT3, rug from子句中包含两个以上的表...转载 2018-05-29 17:29:30 · 861 阅读 · 0 评论 -
Java在MyBatis中使用#和$书写占位符有什么区别?
#将传入的数据都当成一个字符串,会对传入的数据自动加上引号;$将传入的数据直接显示生成在SQL中。注意:使用$占位符可能会导致SQL注射攻击,能用#的地方就不要使用$,写order by子句的时候应该用$而不是#。...原创 2018-05-28 20:45:36 · 992 阅读 · 0 评论 -
MySQL重置自增id
方法一(效率高,谨慎使用):清空表数据并重置id:truncate table table_name;注意:truncate 一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。是DLL语言,无法回滚;当表被TRUNCATE 后,这个表和索引所占用的空间会恢复到初始大小。 方...原创 2018-02-07 11:01:28 · 31623 阅读 · 1 评论 -
MySQL存储AES_ENCRYPT加密字段
被存储的字段的数据类型应为BLOB,否则将存储失败报错如下:Incorrect string value: '\xDF5;.\xC4\x87...' for column 'dst_password' at row 1原创 2017-12-04 17:17:08 · 2161 阅读 · 2 评论 -
让富文本里的图片在APP上铺满
假设存富文本的字段为content,则在SQL语句中进行拼接返回给APP端:CONCAT(content,'img{max-width:100%!important;}')原创 2017-09-09 19:40:42 · 1627 阅读 · 0 评论 -
数据库事务的四大特性和隔离级别
四大特性(ACID)原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致...原创 2018-07-25 09:43:30 · 289 阅读 · 0 评论