-
SQL语句练习实例之四找出促销活动中销售额最高的职员
复制代码代码如下:---找出促销活动中销售额最高的职员---你刚在一家服装销售公司中找到了一份工作,此时经理要求你根据数据库中的两张表得到促销活动销售额最高的销售员---1.一张是促销活动表---2.一张是销售客列表createtablePromotions(activitynvarchar(30),sdatedatetime,edatedatetime)insertPromotionsselect'五一促销活动','2011-5-1','2011-5-7'unionselect'十一促销活动','2011-10-1','2011-10-7'unionselect'OA专场活动','2011-6-1','2011-6-7'gocreatetablesales(idintnotnull,namenvarchar(20),saledatedatetime,pricemoney)goinsertsalesselect1,'王五','2011-5-1',1000unionselect1,'王五','2011-5-2',2000unionselect1,'王五','2011-5-3',3000u...
数据库操作教程 2022-09-23 20:35:11 -
批量替换sqlserver数据库挂马字段并防范sql注入攻击的代码
首先备份数据库,以防不必要的损失。而后对所有被挂马的小于8000字符的varchar字段执行复制代码代码如下:update表名set字段名=replace(字段名,'<ScriptSrc=http://c.n%75clear3.com/css/c.js></Script>','')其中<ScriptSrc=http://c.n%75clear3.com/css/c.js></Script>为挂马字段...
数据库操作教程 2022-09-23 20:31:35 -
sqlserver中在指定数据库的所有表的所有列中搜索给定的值
比如:我们导入了某个客户的资料,我们知道此客户的姓名是ZhangShan,我们想知道,在我们的业务数据库(eg:NorthWind)中,有哪些数据表的哪些字段设置了此姓名值ZhangShan,通过下面的SQL,我们就可以实现此目的,此处的SQL搜索自网上,在此处做了局部修改。一、搜索数据是String类型适用于搜索Text,NText,Varchar,Nvarchar,Char,NChar等类型1、创建存储过程:My_Search_StringInGivenTable复制代码代码如下:USE[NORTHWIND]GO/******Object:StoredProcedure[dbo].[My_Search_StringInGivenTable]ScriptDate:09/25/201115:37:14******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATEPROCEDURE[dbo].[My_Search_StringInGivenTable](@SearchStringNVARCHAR(MAX),@Table_Schemasysna...
数据库操作教程 2022-09-23 20:30:40 -
SQL注入式攻击的本质
有文章还说注入式攻击还会有“第三波”攻击潮,到时候会更加难以察觉,连微软的大佬都跑出来澄清说与微软的技术与编码无关,微软为此还专门推出了三个检测软件,那么这个SQL注入式攻击的漏洞究竟是怎么造成的呢?正如微软的大佬所说的,是由于网站程序的开发人员编码不当造成的,不光是ASP、ASP.NET,也包括JSP、PHP等技术,受影响的也不仅仅是Access和SQLServer数据库,也包括Oracle和MySql等其他关系数据库,和人家微软没什么关系。事实上不光是基于B/S架构的系统或网站存在这样的问题,基于C/S架构的系统也存在这样的问题,只不过由于C/S架构的特点决定了不可能像B/S系统这样影响这么广泛...
数据库操作教程 2022-09-23 20:25:42 -
sqlserver此数据库没有有效所有者错误的解决方法
某一天,在调试程序时突然发现,在附加数据库后,想添加关系表,结果出来了下面的错误: 此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或AlterAUTHORIZATION语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象...
数据库操作教程 2022-09-23 20:23:54 -
清空数据库中所有表记录记录ID恢复从0开始
1.搜索出所有表名,构造为一条SQL语句复制代码代码如下:declare@trun_namevarchar(8000)set@trun_name=''select@trun_name=@trun_name+'truncatetable'+[name]+''fromsysobjectswherextype='U'andstatus>0exec(@trun_name)该方法适合表不是非常多的情况,否则表数量过多,超过字符串的长度,不能进行完全清理...
数据库操作教程 2022-09-23 20:23:07 -
将所有符合条件的结果拼接成一列并用逗号隔开的一个sql语句
复制代码代码如下:createtabletb(idint,valuevarchar(10))insertintotbvalues(1,'aa')insertintotbvalues(1,'bb')insertintotbvalues(2,'aaa')insertintotbvalues(2,'bbb')insertintotbvalues(2,'ccc')gocreatefunction[dbo].[f_str](@idint)returnsnvarchar(1000)asbegindeclare@strnvarchar(1000)set@str=''select@str=@str+','+cast(valueasnvarchar(900))fromtbwhereid=@idset@str=right(@str,len(@str)-1)return@strendgo--调用函数selectid,value=dbo.f_str(id)fromtbgroupbyid运行结果:本来在上面的函数中所有的nvarchar都是varchar类型的,并且上面函数的红色处在调用cast方法时,并未指定...
数据库操作教程 2022-09-23 20:21:15 -
清空所有表中的数据的存储过程
复制代码代码如下:--*******************************************************--*清空所有表中的数据*--*撒哈拉大森林*--*2010-6-28*--*******************************************************ifexists(select*fromsysobjectswheretype='P'andname=N'P_DeleteAllData')dropprocedureP_DeleteAllDatagoCREATEPROCEDUREP_DeleteAllDataasEXECsp_MSForEachTable'ALTERTABLE?NOCHECKCONSTRAINTALL'--禁用约束EXECsp_MSForEachTable'ALTERTABLE?DISABLETRIGGERALL'--禁用触发器EXECsp_MSForEachTable'DELETEFROM?'--删除所有表中的数据EXECsp_MSForEachTable'ALTERTABLE?CHECKCONSTRAI...
数据库操作教程 2022-09-23 20:21:11 -
sql修改表的所有者
复制代码代码如下:use数据库goEXECsp_changeobjectowner‘原表的所有者.表名',现在的所有者例如:复制代码代码如下:execsp_changeobjectowner'ahuinan...
数据库操作教程 2022-09-23 20:15:28 -
sqlserver中查找所有包含了某个文本的存储过程
上图说明吧。上图存储过程调用了mup_GetA(我把和项目相关的命名都擦除掉了)上图通过sqlserver图形管理器自带的功能查看依赖于mup_GetA的对象...
数据库操作教程 2022-09-23 20:15:19 -
TRUNCATE快速删除表中的所有数据
备注与DELETE语句相比,TRUNCATETABLE具有以下优点:所用的事务日志空间较少。DELETE语句每次删除一行,并在事务日志中为所删除的每行记录一个条目...
数据库操作教程 2022-09-23 20:14:43