-
CPQuery解决拼接SQL的新方法
我一直都不喜欢在访问数据库时采用拼接SQL的方法,原因有以下几点:1.不安全:有被SQL注入的风险。2.可能会影响性能:每条SQL语句都需要数据库引擎执行[语句分析]之类的开销...
数据库操作教程 2022-09-23 16:50:57 -
SQL数据库日志已满解决方法
当前的解决方法是:把硬盘上的其他文件删除,以空出硬盘空间,将数据库的日志文件大小改成无限制,然后分离数据库,要确保分离成功,、然后把数据库日志文件删除(最好是先改名,以防万一)。再附加数据库,这样会重建日志文件...
数据库操作教程 2022-09-23 16:50:54 -
sqlserver获取系统时间的方法
SqlServer中一个非常强大的日期格式化函数:获得当前系统时间,GETDATE():2008年01月08日星期二14:59SelectCONVERT(varchar(100),GETDATE(),0):0516200810:57AMSelectCONVERT(varchar(100),GETDATE(),1):05/16/08SelectCONVERT(varchar(100),GETDATE(),2):08.05...
数据库操作教程 2022-09-23 16:50:30 -
oracle重置序列从指定数字开始的方法详解
重置oracle序列从指定数字开始复制代码代码如下:declarennumber(10);v_startnumnumber(10):=10000001;--从多少开始v_stepnumber(10):=1;--步进tsqlvarchar2(200);v_seqnamevarchar2(200):='MIP_JF_SEQUENCE';--序列名beginexecuteimmediate'select'||v_seqname||'.nextvalfromdual'inton;n:=v_startnum-n-v_step;--从10000001开始tsql:='altersequence'||v_seqname||'incrementby'||n;executeimmediatetsql;executeimmediate'select'||v_seqname||'.nextvalfromdual'inton;tsql:='altersequence'||v_seqname||'incrementby'||v_step;executeimmediatetsql;end; 不通过删除重...
数据库操作教程 2022-09-23 16:49:52 -
T-SQL篇如何防止SQL注入的解决方法
1.什么是SQL注入所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击...
数据库操作教程 2022-09-23 16:49:21 -
SqlServer2012分页方法分析(offsetandfetch)
其中offsetandfetch最重要的新特性是用来分页,既然要分析分页,就肯定要和之前的分页方式来比较了,特别是Row_Number()了,在比较过程中,发现了蛮多,不过最重要的,通过比较本质,得出了优劣,也和大家一起分享下。准备工作,建立测试表:Article_Detail,主要是用来存放一些文章信息,测试的时间,都是从网易上面转载的新闻,同时,测试表数据字段类型是比较均匀的,为了更好的测试,表结构如下图: 内容:数据量:129,991条记录语法分析1.NTILE()的分页方法NTILE()方法可以用来分页,但是应用场景十分的狭窄,并且性能差劲,和Row_Number()与offsetfetch分页比起来没有任何优势,也只有在只读表上面分页的话,还是比较合适的;虽然不好用,但是还能来分页的,所以只简单的介绍下...
数据库操作教程 2022-09-23 16:48:35 -
SQLServer修改标识列方法如自增列的批量化修改
通过界面设计上是能手工操作的,无法达到我批量修改几千台服务器。因为此了一个脚本来批量执行...
数据库操作教程 2022-09-23 16:48:27 -
SQL重复记录查询的几种方法
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断复制代码代码如下:select*frompeoplewherepeopleIdin(select peopleIdfrom peoplegroupby peopleIdhavingcount(peopleId)>1)2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录复制代码代码如下:deletefrompeoplewherepeopleIdin(select peopleIdfrompeoplegroupby peopleId havingcount(peopleId)>1)androwidnotin(selectmin(rowid)from peoplegroupbypeopleIdhavingcount(peopleId)>1)3、查找表中多余的重复记录(多个字段)复制代码代码如下:s...
数据库操作教程 2022-09-23 16:48:07 -
MSSQL木马修复,中木马后的处理方法
复制代码代码如下:declare@tvarchar(255),@cvarchar(255)declaretable_cursorcursorforselecta.name,b...
数据库操作教程 2022-09-23 16:47:52 -
SQL中Group分组获取TopN方法实现可首选row_number
有产品表,包含id,name,city,addtime四个字段,因报表需要按城市分组,统计每个城市的最新10个产品,便向该表中插入了100万数据,做了如下系列测试:复制代码代码如下:CREATETABLE[dbo].[products]([id][int]IDENTITY(1,1)NOTNULL,[name][nvarchar](50)NULL,[addtime][datetime]NULL,[city][nvarchar](10)NULL,CONSTRAINT[PK_products]PRIMARYKEYCLUSTERED([id]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=OFF,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY])ON[PRIMARY]1、采用row_number方法,执行5次,平均下来8秒左右,速度最快。复制代码代码如下:selectno,id,name,cityfrom(selectno=row_number()over(pa...
数据库操作教程 2022-09-23 16:47:47