
DB数据库
张炜的技术博客
擅长.NET框架平台开发~
擅长性能优化
展开
-
存储过程&函数(培训教程)
格式:waitfor {delay time| time time}waitfor time 5:26print aWAITFOR DELAY 00:00:02select * from employeesWAITFOR DELAY 00:00:02SELECT EmployeeID FROM Northwind.dbo.Employees---------原创 2009-02-16 17:48:00 · 923 阅读 · 0 评论 -
SET XACT_ABORT (Transact-SQL)|锁兼容性|DBCC DROPCLEANBUFFERS|SET SHOWPLAN_ALL |COALESCE
http://msdn.microsoft.com/zh-cn/library/ms188792.aspx转载 2010-11-29 15:01:00 · 589 阅读 · 0 评论 -
SQL 数据库 批量删除 注入的脚本
--sql 2000解决方法DECLARE@fieldtype sysnameSET@fieldtype='varchar'--删除处理DECLARE hCForEach CURSOR GLOBALFORSELECT N'update '+QUOTENAME(o.name)+N' set '+QUOTENAME(c.name) + N' = replace('+QUOTENAME(c.name) +','''','''')'FROM sysobjects o,syscolumns c,systypes t原创 2010-12-04 14:10:00 · 893 阅读 · 0 评论 -
学习笔记 整理
<br /><br />1:replace 函数<br />第一个参数你的字符串,第二个参数你想替换的部分,第三个参数你要替换成什么<br />selectreplace('lihan','a','b')<br /> <br />-----------------------------<br />lihbn<br /><br />(所影响的行数为 1 行)<br />=====原创 2010-12-04 16:25:00 · 379 阅读 · 0 评论 -
SQL对Xml字段的操作
<br />来自:http://www.cnblogs.com/youring2/archive/2008/11/27/1342288.html<br /> <br />T-Sql操作Xml数据<br />一、前言<br />SQL Server 2005 引入了一种称为 XML 的本机数据类型。用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列;此外,还允许带有变量和参数。为了更好地支持 XML 模型特征(例如文档顺序和递归结构),XML 值以内部格式存储为大型二进制对象 (BLOB)。转载 2010-12-04 15:11:00 · 590 阅读 · 0 评论 -
INSTEAD OF 触发器
Instead Of触发器与After触发器的工作流程是不一样的。After触发器是在SQL Server服务器接到执行SQL语句请求之后,先建立临时的Inserted表和Deleted表,然后实际更改数据,最后才激活触发器的。而Instead Of触发器看起来就简单多了,在SQL Server服务器接到执行SQL语句请求后,先建立临时的Inserted表和Deleted表,然后就触发了Instead Of触发器,至于那个SQL语句是插入数据、更新数据还是删除数据,就一概不管了,把执行权全权原创 2010-11-03 14:12:00 · 3822 阅读 · 0 评论 -
动态sql语句基本语法
<br /> <br /> <br /> <br />1 :普通SQL语句可以用Exec执行<br /> 例: Select * from tableName <br /> Exec('select * from tableName') <br /> Exec sp_executesql N'select * from tableName' -- 请注意字符串前一定要加N <br /> <br />2:字段名,表名,数据库原创 2010-11-19 16:01:00 · 530 阅读 · 0 评论 -
SQL charindex用法
2008-07-01 16:01<br />Transact-SQL 参考 <br /><br /><br />CHARINDEX <br />返回字符串中指定表达式的起始位置。 <br /><br />语法 <br />CHARINDEX ( expression1 , expression2 [ , start_location ] ) <br /><br />参数 <br />expression1 <br /><br />一个表达式,其中包含要寻找的字符的次序。expression1 是一个短字符数原创 2010-11-19 11:53:00 · 1294 阅读 · 1 评论 -
SQL Server 索引结构及其使用(一)
一、深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我们要查“安”字,就会很自然地翻开字典的前几页,因为“安”的拼音是“an”,而按照拼音排序汉字的字典是以英文字母“a”开头并以“z”结尾的,那转载 2010-11-24 14:04:00 · 413 阅读 · 0 评论 -
SQL Server 索引结构及其使用(二)
一、深入浅出理解索引结构改善SQL语句 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如:select * from table1 where name=''zhangsan'' and tID > 10000和执行:select * from table1 where tID > 10000 and name=''zhangsan'' 一些人不知道以上两条语句的执行效率是否一样,因为如果简单的从语句先后上看,这两个语句的确是转载 2010-11-24 14:06:00 · 375 阅读 · 0 评论 -
SQL Server 索引结构及其使用(三)
<br />实现小数据量和海量数据的通用分页显示存储过程<br /><br /> 建立一个 Web 应用,分页浏览功能必不可少。这个问题是数据库处理中十分常见的问题。经典的数据分页方法是:ADO 纪录集分页法,也就是利用ADO自带的分页功能(利用游标)来实现分页。但这种分页方法仅适用于较小数据量的情形,因为游标本身有缺点:游标是存放在内存中,很费内存。游标一建立,就将相关的记录锁住,直到取消游标。游标提供了对特定集合中逐行扫描的手段,一般使用游标来逐行遍历数据,根据取出数据条件的不同进行不同的操作。而对于原创 2010-11-24 14:26:00 · 504 阅读 · 0 评论 -
SQL Server 索引结构及其使用(四)
一、深入浅出理解索引结构二、改善SQL语句三、实现小数据量和海量数据的通用分页显示存储过程聚集索引的重要性和如何选择聚集索引 在上一节的标题中,笔者写的是:实现小数据量和海量数据的通用分页显示存储过程。这是因为在将本存储过程应用于“办公自动化”系统的实践中时,笔者发现这第三种存储过程在小数据量的情况下,有如下现象:1、分页速度一般维持在1秒和3秒之间。2、在查询最后一页时,速度一般为5秒至8秒,哪怕分页总数只有3页或30万页。 虽然在超大容量情况下,这个分页的实现过程是很快的,但在分前几页时,这个1-3转载 2010-11-24 14:11:00 · 433 阅读 · 0 评论 -
搜集论坛SQL问题集合.仅供自己和有兴趣的朋友参考。不做其他用途
stuffThe STUFF function inserts a string into another string. It deletes a specified length of characters in the first string at the start position and then inserts the second string into the first string at the start position.syntaxSTUFF ( character_expre原创 2011-04-11 13:44:00 · 957 阅读 · 0 评论 -
MS-SQL2005服务器登录名、角色、数据库用户、角色、架构的关系
MS SQL2005对2000进行了很大的改进,而用户关系这部分也变得相当复杂了,很多朋友都对此一知半解!下面,我将把我应用中总结的和大家分享下,先从概念入手,希望对不理解的朋友有点提示。今天我们要说的包括服务器登录名Server Login,服务器角色Server Role,数据库用户DB User,数据库架构DB Schema,数据库角色DB Role 。以上几个名词应该从服务器与数据库来区分,服务器包含一到多个数据库,其中:服务器登录名,指有权限登录到某服务器的用户;服务器角色,指一组固定的服务器用户转载 2011-05-03 15:30:00 · 848 阅读 · 0 评论 -
SQL数据库____锁的概述
锁的概述 一. 为什么要引入锁 多个用户同时对数据库的并发操作时会带来以下数据不一致的问题: 丢失更新 A,B两个用户读同一数据并进行修改,其中一个用户的修改结果破坏了另一个修改的结果,比如订票系统 脏读 A用户修改了数据,随后B用户又读出该数据,但A用户因为某些原因取消了对数据的修改,数据恢复原值,此时B得到的数据就与数据库内的数据产生了不一致 不可重复读 A用户读取数据,随后B用户读出该数据并修改,此时A用户再读取数据时发现前后两次的值不一致 并发控制的主要方法是封锁,锁就是在一段时间内禁止原创 2010-11-29 10:11:00 · 476 阅读 · 0 评论 -
锁测试笔记
/*UPDLOCK 用在一个查询,另一加加UPDLOCK类似查询必须要等第一查询事务结束,才可以查询若不加UPDLOCK,可以立即查询到HOLDLOCK 在一个查询中添加,另一表类似查询不需要等第一查询事务结束,就可以查询加与不加 都一样可以查询到,不必等事务结束TABLOCK 与HOLDLOCK 类似TABLOCKX 在一个查询中添加,另一表类似查询必须等第一查询事务结束,加与不加都需要等上一个事务结束UPDATE DELETE 操作自动添加排它锁*/原创 2010-11-29 11:56:00 · 543 阅读 · 0 评论 -
SQLServer中服务器角色和数据库角色权限详解
SQLServer中服务器角色和数据库角色权限详解by e-online 26. 九月 2009 18:55角色当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role)。数据库角色指定了可以访问相同数据库对象的一组数据库用户。数据库角色的成员可以分为如下几类:Windows用户组或用户账户SQL Serve原创 2009-09-26 16:53:00 · 34679 阅读 · 0 评论 -
数据库架构概念
SQL Server 2005架构中的一些基本概念模型 操作文件(Operational FIles):用于使软件和服务运行的文件。数据文件(Data Files):系统产生的文件。数据文件分为两种:mdf后缀的数据库数据文件,ldf后缀的日志数据库文件。这两种文件的分离确保了数据库数据的安全性。文件组:数据文件的逻辑集合,便于备份和数据恢复。master系统数据库:包含操作文件,原创 2009-09-29 13:25:00 · 2102 阅读 · 1 评论 -
什么是DML和DDL(zz)
什么是DML和DDL(zz) DML(Data Manipulation Language)数据操纵语言命令使用户能够查询数据库以及操作已有数据库中的数据。如insert,delete,update,select等都是DML.DDL语句用语定义和管理数据库中的对象,如Create,Alter和Drop.DDL操作是隐性提交的!不能rollback原创 2009-09-26 18:10:00 · 855 阅读 · 0 评论 -
数据库命名规范 SQL Server
设计原则符号三大范式(每一列表达一个意思,每一行代表一个实例/每一行有唯一键/表内没有其它表的非主键信息)每个表应该有的3个有用字段(记录创建或更新时间/记录创建者/记录版本)避免保留字表应避免可为空的列 命名规范表表名如Order/UserAccout符合以下规范:1. 统一采用单数形式,反对Orders(适当考虑)2. 首字母大写,多个单词的话,单词首字母大写,反对原创 2009-10-06 16:30:00 · 496 阅读 · 0 评论 -
check约束(备忘录)
通过限制列可接受的值,CHECK 约束可以强制域的完整性。此类约束类似于 FOREIGN KEY 约束,因为可以控制放入列中的值。但是,它们在确定有效值的方式上有所不同:FOREIGN KEY 约束从其他表获得有效值列表,而 CHECK 约束通过不基于其他列中的数据的逻辑表达式确定有效值。例如,可以通过创建 CHECK 约束将 salary 列中值的范围限制为从 $15,000 到 $100原创 2009-11-19 14:54:00 · 1102 阅读 · 0 评论 -
设置mysql允许外网访问
<!--<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"><rdf原创 2010-03-12 09:59:00 · 962 阅读 · 0 评论 -
MS SQL Server数据库事务锁机制分析
锁是网络数据库中的一个非常重要的概念,它主要用于多用户环境下保证数据库完整性和一致性。各种大型数据库所采用的锁的基本理论是一致的,但在具体实现上各有差别。目前,大多数数据库管理系统都或多或少具有自我调节、自我管理的功能,因此很多用户实际上不清 Microsoft SQL Server(以下简称SQL Server)作为一种中小型数据库管理系统,已经得到了广泛的应用,该系统更强调由系统来管理锁。在原创 2010-03-12 23:03:00 · 564 阅读 · 0 评论 -
SQL SERVER数据库清理DB LOG
日志的逻辑文件名是DBNAME_LOG,数据库DBNAME: USE DBNAME BACKUP LOG DBNAME WITH NO_LOG --截断事务日志 GOOPTION 1:DBCC SHRINKFILE(DBNAME_LOG,10) --收缩事务日志 GO OPTION 2:企业管理器--右键你要压缩的数据库--所有任务--收缩数据原创 2010-01-04 16:18:00 · 734 阅读 · 0 评论 -
sql server数据类型char和nchar,varchar和nvarchar,text和ntext的区别
<br />varchar和nvarchar的区别:<br /> <br />varchar(n)<br />长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节(如varchar(6),当字段为qqq时,数据库实际占用空间为3个字节,而不是6个字节,但只允许存储6个字节,一般中文占两个字节)。<br /><br />nvarchar(n)<br />包含 n 个字符的可变长度 Unicode转载 2010-07-08 10:06:00 · 695 阅读 · 0 评论 -
从Sql server 2008获取表字段属性信息,注释信息
select b.[value] from sys.columns a left join sys.extended_properties b on a.object_id=b.major_id and a.column_id=b.minor_id inner join sysobjects c on a.column_id=c.id and a.[name]='列名' and c.[name]='表名' SELECT 表名=case when原创 2010-07-23 15:43:00 · 1726 阅读 · 0 评论 -
多条记录拼接成一个字符串
declare@sqlvarchar(8000)select@sql=isnull(@sql+';','')+c from tselect@sqlsql like 查询 如果包含变量 用类似这样的 like '%'+@变量+'%'原创 2010-08-13 19:56:00 · 736 阅读 · 0 评论 -
sql 函数 杂记
CEILING (Transact-SQL)Returns the smallest integer greater than, or equal to, the specified numeric expression.Transact-SQL Syntax ConventionsSyntaxCopyCEILING (numeric_expression )Argumentsnumeric_expressionIs an expression of the exact numeric or appro原创 2010-08-16 14:35:00 · 522 阅读 · 0 评论 -
数据库并发控制技术
数据库是一个共享资源,可以提供多个用户使用。这些用户程序可以一个一个地串行执行,每个时刻只有一个用户程序运行,执行对数据库的存取,其他用户程序必须等到这个用户程序结束以后方能对数据库存取。但是如果一个用户程序涉及大量数据的输入/输出交换,则数据库系统的大部分时间处于闲置状态。因此,为了充分利用数据库资源,发挥数据库共享资源的特点,应该允许多个用户并行地存取数据库。但这样就会产生多个用户程序并发存取同一数据的情况,若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性,所以数据库管理系统必须提原创 2010-11-28 17:48:00 · 992 阅读 · 0 评论 -
SQLServer数据表分区优化数据库
你是不是也在苦苦寻求优化自己的SQL Server数据库的方法?如果你的数据库里有不少非常大的表格,分区功能能够帮到你很大的忙,因为它可以把这些大表格分割成独立文件组。这个技术可以让你把数据分布在不同的物理磁盘中,并通过调节它们的并行性能来最优化你的查询性能。<br />对SQL Server数据表进行分区的过程分为三个步骤: <br />1)建立分区函数 <br />2)建立分区方案 <br />3)对表格进行分区 <br />分区函数定义how,即你想要SQL Server如何对数据进行分区。这里就原创 2011-05-03 16:13:00 · 1754 阅读 · 0 评论