前言 最近项目在换数据库,从sqlserver转到mysql,目前正在准备阶段,可以预见一些问题。比如mysql中没有一些复杂的函数;这使得需要重写一些数据库语句,甚至要改表结构。 递归树查询…
标签:id
06 漏洞发现:基于错误信息识别SQL注入
SQL注入缺陷在2013年的OWASP Top10清单中排名第一,大多数Web应用使用了某种数据库,SQL语言是其中最流行的。在 SQL注入攻击中,攻击者通过改写表单输入项参数、查询参数,在参数中添加SQL语句,构造含S…
【JPA】@query不适用于参数不确定的查询,用EntityManager
最近做的项目,为了简化Dao的代码,使用了JPA来写Dao,Dao的接口方法上使用@Query注释,不需要再写一个实现类(Impl)。 例子: public interface IUserDao extends JpaR…
使用子查询作为主表优化含有join的sql语句
今天在工作中需要查询到用户相关明细数据,该数据需要连接四个表(使用left join),使用5个表的字段,且数据量较大。在操作中发现直接使用 select column from a left join b on a.i…
sql优化--OR
尽可能避免使用“OR”去查询,特别是left join的对象 例如: select a.* from a left join b on b.id=a.b_id where a.xx>=100 or b.yy>…
适用于Yii2的千万级数据秒分页
首先SQL原型如下 SELECT t1.* FROM item t1, (SELECT id FROM item WHERE id>100 LIMIT 10000,20 ) t2 WHERE t1.id=t2.id…
经常用到的sql语句
获取一个表中的数据插入到另一个表 insert into studentsNew(id,name,sex,age) select id,name,sex,age from students where id betwee…
MySQL_select distinct无法实现只对单列去重,并显示多列结果的解决方法
问题点:存在数据表test_table如下,想只对value字段筛选并去重,结果显示去重后的value列和对应的id列(id显示3或4都可以) id value 1 a 2 b 3 c 4 c 5 e 5 f 可以看到表…
sql语句group by 问题
首先,抛出问题,在工作中,有这么一个需求,找出某一个字段相同的记录数,然后将这些记录数删除。 我想到的第一个就是group by关键字,根据字段分组,就能找到相同的记录。此时的sql语句是这样的: select id f…
SpringDataJPA学习记录(三)--复杂查询的封装
SpringDataJPA学习记录(三)–复杂查询的封装 标签(空格分隔): springJPA 1.使用CriteriaBuilder构建JPQL 在UserRepositoryImpl中使用Criteri…
YII2安全之SQL注入和XSS攻击
 …
数据库sql语句的exists总结
先来比较下语法: –deals=交易表,areas=地域表,例如香港;我们的目的:查看有交易的地域 select * from areas where id in (select city_id from d…