-
简单触发器的使用献给SQL初学者
首先,啰嗦几句废话如下: (1)触发器(trigger)是个特殊的存储过程,它的执行并不需要我们去显式调用,而是由一些事件触发,这有点类似C#中的事件处理机制。当使用UPDATE,INSERT 或DELETE的一种或多种对指定的数据库的相关表进行操作时,会触发触发器...
数据库操作教程 2022-09-23 20:38:55 -
SQL语句一个简单的字符串分割函数
复制代码代码如下:CREATEFUNCTIONdbo.f_splitstr(@strvarchar(8000))RETURNS@rTABLE(idintIDENTITY(1,1),valuevarchar(5000))ASBEGIN/*Functionbody*/DECLARE@posintSET@pos=CHARINDEX(',',@str)WHILE@pos>0BEGININSERT@r(value)VALUES(LEFT(@str,@pos-1))SELECT@str=STUFF(@str,1,@pos,''),@pos=CHARINDEX(',',@str)ENDIF@str>''INSERT@r(value)VALUES(@str)RETURNENDselect*fromf_splitstr('中,国,人')...
数据库操作教程 2022-09-23 20:32:53 -
世界杯猜想活动的各类榜单的SQL语句小结
/*增幅降幅排名*/复制代码代码如下:Selecttop50UserName,sum(ReceivePrice)-sum(GuessPrice)asReceivePrice,cast(sum(CASEWHENReceivePrice>0THEN1.0ELSE0END)/count(ReceivePrice)*100asnumeric(4,1))asRateFrom[game_FantasyLog]WHEREIsJudge=1GROUPBYUserId,UserNameORDERBYsum(ReceivePrice)-sum(GuessPrice)ASC/*正确率错误率排名*/复制代码代码如下:Selecttop50UserName,sum(ReceivePrice)-sum(GuessPrice)asReceivePrice,cast(sum(CASEWHENReceivePrice>0THEN1...
数据库操作教程 2022-09-23 20:22:39 -
复习一下sqlserver的差异备份
MSSQL差异备份,就是和前一次备份作对比,把不一样的内容备份下来,这样,只要前一次备份后,插入新的内容,差异备份就可以把刚插入的内容备份出来,而这个备份文件将大大减少,得到webShell的成功也提高了不少! 差异备份的流程大概这样:1.完整备份一次(保存位置当然可以改)backup database 库名 to disk = 'c:ddd...
数据库操作教程 2022-09-23 20:14:09 -
SQL语句如何实现超简单的多表查询
目录一、简单的多表联查(innerjoin,leftjoin,rightjoin)1、两表联查2、三表联查二、触发器一、简单的多表联查(innerjoin,leftjoin,rightjoin)1、两表联查user_table表department表1、innerjoin代表内连接,数据显示内容以外键为准,意思就是外键没有的,数据就不显示。selectuser_table.id,user_table.username,user_table.sex,user_table.phone,user_table.address,department.dnamefromuser_tableinnerjoindepartmentonuser_table.departmentid=department.did;查询结果如下:2、leftjoin代表左连接,数据显示内容以左边表为准,意思就是不管右边表查出来是否有数据,左边表的数据有的一定会显示...
数据库操作教程 2022-09-23 18:21:43 -
分享一下SQLServer执行动态SQL的正确方式
SQLServer执行动态SQL的话,应该如何实现呢?下面就为您介绍SQLServer执行动态SQL两种正确方式,希望可以让您对SQLServer执行动态SQL有更深的了解动态SQL:codethatisexecuteddynamically.它一般是根据用户输入或外部条件动态组合的SQL语句块.动态SQL能灵活的发挥SQL强大的功能、方便的解决一些其它方法难以解决的问题.相信使用过动态SQL的人都能体会到它带来的便利,然而动态SQL有时候在执行性能(效率)上面不如静态SQL,而且使用不恰当,往往会在安全方面存在隐患(SQL注入式攻击). 动态SQL可以通过EXECUTE或SP_EXECUTESQL这两种方式来执行. EXECUTE 执行Transact-SQL批中的命令字符串、字符串或执行下列模块之一:系统存储过程、用户定义存储过程、标量值用户定义函数或扩展存储过程.SQLServer2005扩展了EXECUTE语句,以使其可用于向链接服务器发送传递命令.此外,还可以显式设置执行字符串或命令的上下文 SP_EXECUTESQL 执行可以多次重复使用或动态生成的Tra...
数据库操作教程 2022-09-23 18:20:34 -
分享一个简单的sql注入
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句...
数据库操作教程 2022-09-23 18:19:45 -
分组字符合并SQL语句按某字段合并字符串之一(简单合并)
标题:按某字段合并字符串之一(简单合并)描述:将如下形式的数据按id字段合并value字段。id value-----------1 aa1 bb2 aaa2 bbb2 ccc需要得到结果:id value-----------------1 aa,bb2 aaa,bbb,ccc即:groupbyid,求value的和(字符串相加)1、sql2000中只能用自定义的函数解决createtabletb(idint,valuevarchar(10))insertintotbvalues(1,'aa')insertintotbvalues(1,'bb')insertinto...
数据库操作教程 2022-09-23 18:17:25 -
SQLJOIN连接详细介绍及简单使用实例
SQLJOIN连接SQLJOIN子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。最常见的JOIN类型:SQLINNERJOIN(简单的JOIN)...
数据库操作教程 2022-09-23 18:15:19 -
MSSql简单查询出数据表中所有重复数据的方法
本文实例讲述了MSSql简单查询出数据表中所有重复数据的方法。分享给大家供大家参考,具体如下:这里直接给出下面的例子:SELECT*FROMSYS_LogContentslcWHEREslc.LogInfo_IDIN(SELECTslc2.LogInfo_IDFROMSYS_LogContentslc2GROUPBYslc2.LogInfo_IDHAVINGCOUNT(*)>1)简单说明:关键代码在于上面的括号中...
数据库操作教程 2022-09-23 18:10:34 -
SQLServer简单实现数据的日报和月报功能
本文实例讲述了SQLServer简单实现数据的日报和月报功能。分享给大家供大家参考,具体如下:--320,SQLSERVER日报--查询2009-01-01当天客户A1,A2,A3的订单数量SELECTCust_Name,CONVERT(CHAR(10),Order_Date,120)Order_Date,SUM(Qty)QtyFROMOrders_BigWHERE1=1ANDCust_NameIN('A1','A2','A3')ANDOrder_Date>='2009-01-01'ANDOrder_Date<'2009-01-02'/*ANDOrder_Date--BETWEEN...AND相当于>=和<=BETWEEN'2009-01-01'AND'2009-01-02'*/GROUPBYCust_Name,CONVERT(CHAR(10),Order_Date,120)ORDERBY2,1--321.ORACLE日报--查询2009-01-01当天客户A1,A2,A3的订单数量SELECTCust_Name,TO_CHAR(Order_Date,'YYYY...
数据库操作教程 2022-09-23 18:06:54 -
分组后分组合计以及总计SQL语句(稍微整理了一下)
今天看到了这个文章感觉内容挺多的,就是比较乱,实在不好整理,脚本之家小编就简单整理了一下,希望大家能凑合看吧分组后分组合计以及总计SQL语句 1)想一次性得到分组合计以及总计,sql:SELECT分组字段FROM表GROUPBY分组字段computesum(COUNT(*))2)分组合计1:SELECTCOUNT(*)FROM(SELECT分组字段FROM表GROUPBY分组字段)别名 3)分组合计2:SELECTCOUNT(*)FROM(SELECTdistinct分组字段FROM表)别名4)统计分组后的种类数: 例子1:分组合计SELECTJSSKQK_JGHFROMSJ_JSSKQKWHEREJSSKQK_JGHIN(SELECTJSJBXX_JGHFROMSJ_JSJBXXWHEREJSJBXX_JSLXM1=1)GROUPBYJSSKQK_JGHHAVING((SUM(JSSKQK_SSKCXS1)/40)>5)上面的语句已经可以满足要求分组了.假设执行后有3条记录,怎么才能把这个COUNT值求出?selectcount(*)fro...
数据库操作教程 2022-09-23 18:05:28