随笔分类 - SQL
摘要:1、事务的基本概念 事务是一系列的任务组成的逻辑工作单元,这个逻辑工作单元中的所有任务必须作为一个整体要么全部完成要么全部失败。 在SQL Server中,不管是否显式地使用begin transaction标记了事务的开始,每个DDL操作都是一个事务。 要把多条命令封装在一个事务中,只需要使用两个标记来圈定整个事务的范围:一个标记于事务开始处,而另一个则位于事务完成处,也就是把事务对数据的修改提交到磁盘的地方。如果封装在事务内部的代码检测到错误发生,可以回滚或撤销整个事务。 ◊ begin transaction ◊ commit transaction ◊ rollback t...
阅读全文
摘要:1、插入数据 SQL提供了4中形式的insert命令以及select/into命令作为插入数据的主要方法。insert命令的形式如下: 1>、insert/values:插入一行数据,通常用于插入来自用户界面的数据。 2>、insert/select:插入一个结果集,通常用于操作多行数据。 3>、insert/exec:插入一个存储过程的执行结果,用于复杂的数据操作。 4>、insert default:插入一个由各个列的默认值构成的新行,使用它可以通过预先填充的方式为未来的数据保留一些数据行。 5>、select/into:利用一个select语句的结果集来创建
阅读全文
摘要:1、选择前N行数据 在SQL Server中使用top可以指定返回的行,对于top,with ties选项很重要。它可以在top返回的结果集之后附加多个行,这些行与top返回结果集的最后一行在order by字句指定的排序列上具有相同的值。SELECT TOP 3 WITH TIES * FROM dbo.Product ORDER BY Quantity2、使用空值2.1、检测空值 SQL引入了一个特殊的操作符is来检测特殊值之间的等价特性,其语法格式如下:WHERE Expression IS NULL2.2、处理空值 最常用的空值处理函数是isnull(),其语法格式如下:isnu...
阅读全文
摘要:1、开发数据库时常用命名规范 1>、使用不包含数字的单数表名,如果必要的话可以增加模块名前缀。 2>、对于主键的命名,使用表名+ID的形式。 3>、作为外键的列的名字应该与它们所对应的主键的列名相同,除非该外键维护的是一种自反/递归的关系。 4>、避免使用缩写。2、主键设计原则 1>、主键用途:惟一标识一行;作为一个可以被外部键有效引用的对象。 2>、主键应当对用户没有意义。 3>、主键应该是单列的,以便提高连接和筛选操作的效率。复合主键仅用于描述多对多关系的连接表中用两个外键来作为主键。 4>、永远不要更新主键。 5>、主键不应包含动态变
阅读全文
摘要:来源:http://wudataoge.blog.163.com/blog/static/80073886200961652022389/一.WITH AS的含义 WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些, 也有可能是在UNION ALL...
阅读全文
摘要:1、DATEADD语法DATEADD (datepart , number, date )参数datapart 指定要返回新值的日期组成部分。常用:year、quarter、month、dayofyear、day、week、weekdaynumber 用于与 datepart 相加的值。如果指定了非整数值,则将舍弃该值的小数部分。date 表达式,用于返回 datetime 或 smalldate...
阅读全文
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--1CREATETABLE[dbo].ShoppingCart2(3CartIDINTIDENTITY(1,1)NOTNULLPRIMARYKEY,4UserIDINTNOTNULL,5ProductI...
阅读全文
摘要:(1)、空值(NULL)概念。空值通常表示未知、不可用或将在以后添加的数据。若一个列允许为空,则向表中输入记录值时可不为该列给出具体值;而一个列若不允许为空值,则在输入时必须给出具体值。 注意:表的关键字不允许为空值。空值不能与数值数据0或字符类型的空字符相混,任意两个空值都不相等。(2)、列的identity(标识)属性。对任何表都可创建包含系统所生成序号值的一个标识列,该序号是唯一标识表中的一...
阅读全文
摘要:存储过程是存放在数据库服务器上的预先编译好的sql语句。使用存储过程,可以直接在数据库中存储并运行功能强大的任务。存储过程在第一应用程序执行时进行语法检查和编译,编译好的版本保存在高速缓存中。在执行重复任务时,存储过程可以提高性能和一致性。由于存储过程可以将一系列对数据库的操作放在数据库服务器上执行,因而可以降低Web服务器的负载,提高整个系统的性能。 1、创建存储过程代码Code highlig...
阅读全文
摘要:来源:http://hi.baidu.com/amazon83/blog/item/f3d58ef481ff0969dcc47464.html导入数据时,使用默认选项,会丢失主键、约束、默认值等属性,按如下步骤操作:-->导出向导 -->选择数据源 -->选择目的 -->指定表复制或查询:不要使用默认选项,选择“在SQL Server数据库之间复制对象和数据...
阅读全文
摘要:------------------------------------------------------------------- Date Created: 2009-5-15 16:18:04-- Created By: Generated by CodeSmith---------------------------------------------------------------...
阅读全文
摘要:DECLARE @StartTime DATETIMESET @StartTime = GETDATE()EXECUTE [SP_T_Area_GetPaged] '','',10,10SELECT DATEDIFF(MS,@StartTime,GETDATE())
阅读全文
摘要:USE NorthwindGODECLARE @SQL NVARCHAR(1000) --要求 NVARCHAR 类型SET @SQL = 'SELECT * FROM dbo.Customers'EXECUTE sp_executesql @SQLGOUSE NorthwindGODECLARE @SQL VARCHAR(1000)SET @SQL = 'SELECT * FROM dbo.Cu...
阅读全文

浙公网安备 33010602011771号