在日常开发中我们经常会遇到树形结构数据的处理,如:组织机构之类的情况。在表结构通常会采用id、parent_id这种设计方案。一个常见的需求:查询某个节点下的所有子节点。 为方便后续说明,在此统一约定表名为:t_org,…
标签:id
SQL的IN操作符
IN操作符 IN操作符允许我们在WHERE子句中规定多个值。 这个操作符可以让我们在表中选取有一定规律的特定值,比如多个同样的订单选取最新的一个。 SQL IN 语法 SELECT 列名 FROM 表明 WHERE 列名…
sqlmap用于sql注入语法
(1) 猜解是否能注入 win: (python) sqlmap.py -u http://ctf5.shiyanbar.com/web/index_2.php?id=1 Linux : .lmap.py -u http…
如何手动绕过SQL注入过滤器?(一)
在前面的文章中(传送门),你应该已经学会了一些关于SQL注入的基本概念,但是在有些情况下,你会发现这些知识竟然不管用了,这是为什么呢?原因就在于开发者采取了一些防止SQL注入的措施。有时,开发者会使用过滤器对用户输入做一…
劣质SQl优化
写在开头 这里所说的劣质SQL限定在数据量未到分库分表和使用分布式缓存程度,指那些执行较差的查询、插入、更新、删除SQL。 本文从执行计划分析慢SQL,从表的创建,查询,更新,以及事务,死锁来分析。 分布缓存和分库分表这…
SQL Server系统表sysobjects syscolumns和SysTypes
1.sysobjects 在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行。 常规用法:select * from sysobjects where id= object_id(‘…
MyBatis系列之映射文件之sql、Parameters、cache和cache-ref
内容多来源于MyBatis官方文档 sql 这个元素可以被用来定义可重用的 SQL 代码段,可以包含在其他语句中。它可以被静态地(在加载参数) 参数化. 不同的属性值通过包含的实例变化. 比如: <sql id="…
mybatis插入数据时,自动获取主键的自增id
首先int i = userMapper.insertSelective(user),这里返回的并不是主键自增id,而是成功插入的条数。如果想获取主键自增id,除了插入记录之后再查询之外,也可以使用mybatis提供的两…
关于存储过程中,exec动态执行sql的结果赋给变量
declare @sql nvarchar(2000) declare @cou int declare @id varchar(20) set @id=’1′ set @sql=’s…
sql join 的on 和 where 区别
essay文章表跟essay_comment评论表的关联是 essay.id=essay_comment.essay_id SELECT e.id, e.app_id, e.deleted ,ec . * FROM `e…
MySQL如何定位未提交事务执行的SQL语句?
一、问题描述 我们经常会碰到这样的情况,某个事务执行完了未提交,后续再来一个DDL和DML操作,导致后面的session要么处于waiting for metadata lock,要么是锁等待超时。这时我们往往只能找到这…
MySQL ORDER BY优化的那些事儿
为了测试方便和直观,我们需要先创建一张测试表并插入一些数据: CREATE TABLE `shop` ( `id` int(11) NOT NULL …