摘要:1.floor() floor 和group by 搭配使用 利用group by 的key唯一性 和mysql 编码执行顺序导致二次执行产生不同key select * from users where id=1 OR+1e0GROUP BY+CONCAT_WS(0x3a,VERSION(),FL
阅读全文
摘要:import urllib import urllib2 def doinject(payload): url = 'xxxxxxxxxxxxxxxxxxxxx' values = {'injection':payload,'inject':'Inject'} data = urllib.urlen
阅读全文
摘要:安装过程1.下载并解压 sql_server_2008_r2_enterprise 点击 setup 。 2.打开后如图,点击左侧的 安装 ,再点击右边的 全新安装或向现有安装添加功能。 3.安装支持规则,点确定。 4.产品密钥会自动填入,点击下一步。 5.接受许可条款 6.点击安装 7.选择 SQ
阅读全文
摘要:1.qualify 是一个潜在的额外筛选器 主要用于对开窗函数的数据筛选 SELECT orderid, orderdate, val, RANK() OVER(ORDER BY val DESC) AS rnk FROM Sales.OrderValues QUALIFY rnk <= 5; 标准
阅读全文
摘要:当一个事务持有事务的资源锁,并且另一个事务请求同一资源的不兼容锁时,请求被阻塞并且请求者进入等待状态,直到锁定者释放干扰锁。 长时间运行事务会导致锁被长时间持有,所以只对要开启事务的表操作代码开启事务,不应将业务逻辑也放入事务中 。这样做只会增加开启事务的时间 会导致其他请求阻塞。 首先我们来模拟一
阅读全文
摘要:1.事务 在sql servce 中 事务是一个工作单元 可能包含查询和修改数据以及修改数据定义等多个活动 也可以显示或隐式定义事务边界 显示定义事务 BEGIN TRAN 开始 如果要提交事务 使用 COMMIT TRAN 撤销事务(回滚) ROLLBACK TRAN 如下示例 一个简单的显示事务
阅读全文
摘要:一个SQL 语句的执行顺序 1、From (告诉程序 来自哪张表 如果是表表达式 依旧是如此顺序) 2、Where(条件筛选 谓词筛选 ) 3、Group by(分组) 4、Having(分组 谓词筛选 ) 5、Select (表达式) 6、表达式(开窗函数 聚合函数 等等) 7、Distinct(
阅读全文
摘要:IF YEAR(SYSDATETIME()) <> YEAR(DATEADD(day, 1, SYSDATETIME())) PRINT '不是'; ELSE PRINT '是'; GO IF MONTH(SYSDATETIME()) <> MONTH(DATEADD(day, 1, SYSDATE
阅读全文
摘要:DECLARE @i AS INT; SET @i = 10; GO 或者 DECLARE @i AS INT = 10; GO 表表达式形式 DECLARE @empname AS NVARCHAR(31); SET @empname = (SELECT firstname + N' ' + la
阅读全文
摘要:通过GO 命令 来达到语句循环效果 也叫批循环 print '输出10次' GO 10 也可用来新增 语句 NOCOUNT ON 用来屏蔽 新增语句输出的影响行数 我们只看循环次数 SET NOCOUNT ON; GO INSERT INTO dbo.T1 DEFAULT VALUES; GO 10
阅读全文
摘要:批是由客户端应用程序作为一个单元发送给SQL Server 执行的一条或多条语句 如果批中出现错误就整个批都不会交给SQL SERVER 执行 一起执行会发现第二批出现错误就没有提交执行 批由GO命令 隔断 Go 隔断了 @i 变量 就会报错 例如还有一种情况 create view 必须是批中第一
阅读全文
摘要:透视数据实际上就是行状态转为例状态 先加一张测试表 把这张表查出来 我们将 custid行转换成例 sql server 还支持一个子句用于 行转列 PIVOT 是以FROM内嵌 表表达式实现的 PIVOT (数据行) for 要转的列 IN (转那几个数据)
阅读全文
摘要:1.基本概念 开窗函数分为两个部分分别是 1.聚合,排名,偏移,分布函数 。 2.开窗分区,排序,框架。 下面举个例子 sum(val) 就是集合函数 over() 就是开窗 PARTITION BY empid 就是开窗分区(分组) ORDER BY ordermonth 开窗排序 ROWS BE
阅读全文
摘要:1.UNOIN运算符 unoin合并了两个输入查询结果 并消除重复项 简单点说 就是输出并集 默认删除 集合重复项 UNION DISTINCT UNION ALL运算符 直接合并集合 不去重复项 也就是说 UNION 添加 ALL 会消除sql 的默认检查重复项功能 在不需要重复项功能下 用 UN
阅读全文
摘要:CTE 也叫公用表表达式和派生表非常类似 先定义一个USACusts的CTE with () 称为内部查询 与派生表相同,一旦外部查询完成后,CTE就自动释放了 CTE内部方式 就是上面代码所表示的方式 其实还有一种外部方式 定义多个CTE 多个CTE用 , 隔开 通过with 内存 可以在外查询中
阅读全文
摘要:1.每个客户返回一行订单 日期在~到~之间 SELECT E.empid, DATEADD(day, D.n - 1, '20090612') AS dt FROM HR.Employees AS E CROSS JOIN Nums AS D WHERE D.n <= DATEDIFF(day, '
阅读全文
摘要:1.返回 每月最后一天订单 SELECT orderid, orderdate, custid, empid FROM Sales.Orders WHERE orderdate = EOMONTH(orderdate); 使用EMONTH 对输入的日期返回月末日期 类似动态条件 DATEDIFF(m
阅读全文
摘要:1.CONCAT函数 对有NULL 数据行加减也为NULL 怎么解决呢 这里就用到了 CONCAT 函数 CONCAT('A',NULL,'B') 接收一个连接字符串输入并主动替换null 为‘’字符串 结果就是 AB 2.SUBSTRING函数 它可以从字符串提取一个子字符串 和c# 截取字符串用
阅读全文
摘要:常规数据类型:CHAR 和 VARCHAR Unicode 数据类型 NCHAR NVARCHAR 常规数据类型 会限制除英语之外语言 Unicode 会支持多种语言 VAR 区别 : 1.任何有var 的数据类型 都具有可变长度 2.没有 var 的数据类型 都具有固定长度 3.可变长度数据类型储
阅读全文
摘要:首先SQL SERVER 是一个三值逻辑 即谓词计算结果为TRUE,FALSE,UNKNOWN 标准的谓词都是遵循这种规则的 如 slary>0 会返回计算结果为TRUE 结果的行拒绝FALSE和UNKNOWN 结果 但不是所有的谓词处理都是这样的 如果出现在CHECK约束中 计算结果为不为FALS
阅读全文