随笔分类 -  SQL-SERVER 数据库技术

SQL-SERVER 数据库技术相关文章
SQL注入的实现原理和防范
摘要: SQL注入是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。SQL注入的手法相当灵活,在注入的时候需要根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据. 阅读全文
posted @ 2008-07-04 10:25 yhb199 阅读(319) 评论(0) 推荐(0)
SQL分页语句
摘要:select top 10 a from tableA where id not in(select top 2*10 id from tableA where a>1 order by id) and a>1 order by id 阅读全文
posted @ 2008-07-02 16:58 yhb199 阅读(153) 评论(0) 推荐(0)
SQL分页语句
摘要:select top 10 a from tableA where id not in(select top 2*10 id from tableA where a>1 order by id) and a>1 order by id 阅读全文
posted @ 2008-07-02 16:58 yhb199 阅读(204) 评论(1) 推荐(0)
把数据访问层写成一个基类
摘要:在编写数据访问层代码时,总要一边又一边的重复编写:读数据库连接字符串,建立数据库连接对象,打开连接,创建Command对象,创建数据适配器,创建数据集,填充数据集,关闭连接。这种重复的代码写一两次到还行,写多了就免不了有一些烦了。   在总结以前的代码以后,决定重构数据方法层的代码。数据访问层无非进行两种操作:查询返回DataTable,进行插入、更新、删除等无返回值的操作。只要增加一个数据访问层基类包含这些繁琐的代码,其余的数据访问层代码继承数据访问层基类,在调用基类函数时给出存储过程名称和存储过程参数即可。 阅读全文
posted @ 2008-07-02 15:32 yhb199 阅读(283) 评论(1) 推荐(0)
asp.net2.0如何加密数据库联接字符串
摘要:asp.net2.0如何加密数据库联接字符串 在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下: 1.添加密钥 执行:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis -pc "hnlaw" -exp 其中"hnlaw"为密钥名称 2.添加web... 阅读全文
posted @ 2008-07-02 14:59 yhb199 阅读(168) 评论(0) 推荐(0)
SQL Server日志文件总结及日志满的处理
摘要:由于它并不像数据库中的schema那样活跃,因此很少有人关注事务日志。 事务日志是针对数据库改变所做的记录,它可以记录针对数据库的任何操作,并将记录结果保存在独立的文件中。对于任何每一个事务过程,事务日志都有非常全面的记录,根据这些记录可以将数据文件恢复成事务前的状态。从事务动作开始,事务日志就处于记录状态,事务过程中对数据库的任何操作都在记录范围,直到用户点击提交或后退后才结束记录。每个数... 阅读全文
posted @ 2008-07-01 15:28 yhb199 阅读(457) 评论(0) 推荐(0)
收缩mssql的数据库的几种方法
摘要:之一:跟大家分享一下怎么缩小ms sql 的日志,因为使用时间长了,日志会膨胀得很夸张,所以可以执行以下sql语句,非常安全,我反复测试过很多遍: DUMP TRANSACTION 你的数据库名 WITH NO_LOG BACKUP LOG 你的数据库名 WITH NO_LOG DBCC SHRINKDATABASE(你的数据库名) EXEC sp_dboption '你的数据库名', 'auto... 阅读全文
posted @ 2008-07-01 14:17 yhb199 阅读(591) 评论(0) 推荐(0)
如何删除表中的重复记录?等等常用SQL语句的积累
摘要:1.如何删除表中的重复记录?(这里指记录的每个字段都要相同) select distinct * into #temp from tab delete tab insert tab select * from #temp drop table #temp 1.DISTINCT 是 SUM、AVG 和 COUNT 的可选关键字。如果使用 DISTINCT,那么在计算总和、平均值或计数之前... 阅读全文
posted @ 2008-07-01 14:13 yhb199 阅读(839) 评论(0) 推荐(0)
一般存储过程示例
摘要:IF EXISTS (SELECT name FROM sys.objects WHERE TYPE = 'P' AND SCHEMA_NAME(schema_id) = 'dbo' AND name = 'Pr_hot_user_Update') BEGIN EXEC('DROP PROCEDURE [dbo].[Pr_hot_user_Update]') END GO CREATE PROCE... 阅读全文
posted @ 2008-07-01 14:06 yhb199 阅读(179) 评论(0) 推荐(0)
无限级分类的数据库设计思考
摘要:无限级分类的数据库设计 简单需求分析: 1.实现无限级分类。 2.实现无限级链接导航 3.实现逐级分类下各条信息的查询,包括最多浏览量,最多评论量,最新信息。 4.随意转移子分类到任何级别而不用修改分类下的信息表 5.使用最少的参数得到所要的信息,URL参数最好只有一个,比如cID=1或者ID=1 6.不管多少级,只有一个PHP文件实现类列表和各种... 阅读全文
posted @ 2008-07-01 14:04 yhb199 阅读(1661) 评论(1) 推荐(0)
网站大规模分类 比较三种分类的数据库设计
摘要:网站大规模分类 比较三种分类的数据库设计 第一种:4个表 实现四级分类 一级表:ID1,IDName 二级表:ID2,IDname,FID(上一级id) 三级表:ID3,IDname,FID(上一级id) 四级表:ID4,IDname,FID(上一级id) 第二种:用树形结构表实现无限制级分类 表结构:id,fid(上一级id),idname 第三种:用编码的形式将fid和id的... 阅读全文
posted @ 2008-07-01 14:00 yhb199 阅读(2365) 评论(3) 推荐(2)
如何调用存储过程,有返回值的,有参数的,存储过程中调用存储过程。(MS SQL Server)
摘要:存储过程return与output区别 共同点:都返回值(但return只能返回int类型) 不同点: 1.output是定义变量是不是可以返回值 2.output没有return从查询或过程中无条件退出的工功 3.return返回值在函数和过程定义时不需要用output来定义 我想用存储过程,是一个查询的存储过程. 把查询的记录返回.net里我接收这个返回的记录集. ... 阅读全文
posted @ 2008-07-01 13:47 yhb199 阅读(2349) 评论(0) 推荐(0)
存储过程共有三种返回值
摘要:--参考: ----------------------存储过程共有三种返回值------------------- /*(一)、参数返回值@parm2; (二)、过程返回值return 100; (三)、数据集返回值select * from table1 where age = @parm1 请问,如何得到三类返回值? */ create table table1( name... 阅读全文
posted @ 2008-07-01 13:42 yhb199 阅读(345) 评论(0) 推荐(0)
数据库设计---主键定义思考
摘要:或许大家都设计过数据库,也为表定义过主键,今天我想阐述的是,应该如何正确的设计一个主键,在以往的一些资料中,都没有提及到主键设计的原则.我为此总结了一下: 1.是否要采用GUID作为主键 用GUID作主键有它的优势与不足.优势是GUID具有唯一性,在任何情况下,可以产生全球唯一的值.这是GUID最大的优势,也方便数据导入,比如要求从另一个系统中把数据导入进来,那么,不用担心,导入时,会导致主键冲突... 阅读全文
posted @ 2008-07-01 13:41 yhb199 阅读(418) 评论(0) 推荐(0)
数据库----主键设计思考
摘要:在我们的数据库设计中,不可逃避的就是数据库表的主键,可能有很多朋友没有深入思考过,主键的设计对整个数据库的设计影响很大,因此我们不得不要重视起来。 主键的必要性: 有些朋友可能不提倡数据库表必须要主键,但在我的思考中,觉得每个表都应该具有主键,不管是单主键还是双主键,主键的存在就代表着表结构的完整性,表的记录必须得有唯一区分的字段,主键主要是用于其他表的外键关联,本记录的修改与删除,当我们没有主键... 阅读全文
posted @ 2008-07-01 13:38 yhb199 阅读(232) 评论(0) 推荐(0)
一些有创意的SQL语句
摘要:1.把某个字段重新生气序列(从1到n): DECLARE @i int Set @i = 0 Update Table1 Set @i = @i + 1,Field1 = @i 2.按成绩排名次 Update 成绩表 Set a.名次 = ( Select Count(*) + 1 From 成绩表 b Where a.总成绩 0 BEGIN SET @yDays=348 ... 阅读全文
posted @ 2008-07-01 13:36 yhb199 阅读(722) 评论(0) 推荐(0)
一些有创意的SQL语句
摘要:1.把某个字段重新生气序列(从1到n): DECLARE @i int Set @i = 0 Update Table1 Set @i = @i + 1,Field1 = @i 2.按成绩排名次 Update 成绩表 Set a.名次 = ( Select Count(*) + 1 From 成绩表 b Where a.总成绩 0 BEGIN SET @yDays=348 ... 阅读全文
posted @ 2008-07-01 13:35 yhb199 阅读(337) 评论(0) 推荐(0)
一些有创意的SQL语句
摘要:明:复制表(只复制结构,源表名:a 新表名:b) select * into b from a where 11 * 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) insert into b(a, b, c) select d,e,f from b; * 说明:显示文章、提交人和最后回复时间 select a.title,a.usernam... 阅读全文
posted @ 2008-07-01 13:32 yhb199 阅读(277) 评论(0) 推荐(0)
一些有创意SQL语句
摘要:三、连接查询 通过连接运算符可以实现多个表查询。连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志。 在关系数据库管理系统中,表建立时各数据之间的关系不必确定,常把一个实体的所有信息存放在一个表中。当检索数据时,通过连接操作查询出存放在多个表中的不同实体的信息。连接操作给用户带来很大的灵活性,他们可以在任何时候增加新的数据类型。为不同实体创建新的表,尔后通过连接进... 阅读全文
posted @ 2008-07-01 13:29 yhb199 阅读(653) 评论(0) 推荐(0)