目录 1.事务 1.1.事务的ACID属性 1.2.事务分类 1.2.1.系统提供的事务 1.2.2.用户自定义的事务 1.3.管理事务 1.3.1.SAVE TRANSACTION 1.3.2.@@TRANCOUNT变量和@@ERROR变量 1.4.SQL Server本地事务支持 1.4.1.自动提交事务模式 1.4.2.显式事务模式 1.4.3.隐式事务模式 1.4.4.批范围的事务 1.5.隔离级别 1.5.1.四种隔离级别 1.5.2.设置事务隔离级别 1.6.分布式事务 1.7.高级…
目录 1.触发器 1.1.DDL触发器 1.2.DML触发器 1.3.创建触发器 1.3.1.创建DML触发器 1.3.2.创建DDL触发器 1.3.3.嵌套触发器 1.3.4.递归触发器 1.4.管理触发器 1.触发器 触发器是一种特殊的存储过程,与表紧密关联. 1.1.DDL触发器 当服务器或数据库中发生数据定义语言(DDL)事件时将被调用.如CREATE,ALTER,DROP等操作.如果要执行以下操作,可以使用DDL触发器: 防止对数据库架构进行更改 希望数据库中发生某些情况以响应数据库架…
1.锁 当多个用户同时对同一个数据进行修改时会产生并发问题,使用事务就可以解决这个问题.但是为了防止其他用户修改另一个还没完成的事务中的数据,就需要在事务中用到锁. SQL Server 2008提供了多种锁模式:排他锁,共享锁,更新锁,意向锁,键范围锁,架构锁和大容量更新锁. 查询sys.dm_tran_locks视图可以快速了解SQL Server 2008内的加锁情况. SELECT * FROM sys.dm_tran_locks; 注:关于锁的知识书中没细讲,将在以后的博客中补充. 2…
目录 1.使用Transact-SQL语言编程 1.1.数据定义语言DDL 1.2.数据操纵语言DML 1.3.数据控制语言DCL 1.4.Transact-SQL语言基础 2.运算符 2.1.算数运算符 2.2.赋值运算符 2.3.位运算符 2.4.比较运算符 2.5.逻辑运算符 2.6.连接运算符 2.7.一元运算符 2.8.运算符的优先级 3.控制语句 3.1.BEGIN END语句块 3.2.IF ELSE语句块 3.3.CASE分支语句 3.4.WHILE语句 3.5.WAITFOR延…
XML查询技术 XML文档以一个纯文本的形式存在,主要用于数据存储.不但方便用户读取和使用,而且使修改和维护变得更容易. XML数据类型 XML是SQL Server中内置的数据类型,可用于SQL语句或者作为存储过程的参数.用户可以直接在数据库中存储.查询和管理XML文件.XML数据类型还能保存整个XML文档.XML数据类型和其他数据类型不存在根本上的差别,可以把它用在任何普通SQL数据类型可以使用的地方. 示例1:创建一个XML变量并用XML填充 DECLARE @doc XML SELECT…
SELECT操作多表数据 关于连接的问题,在<SQL必知必会>学习笔记中已经讲到过,但是没有掌握完全,所以再学一下. JOIN连接 首先我们先来看一下最简单的连接.Products表和Vendors表的连接 示例1 Products表数据如下 Vendors表数据如下 将这两张表通过以下语句连接 USE test SELECT prod_name,Products.vend_id,vend_name FROM Products,Vendors WHERE Products.vend_id=Ve…
数据库基本概念:区.页.行 区:SQL Server中管理空间的基本单位.一个区大小为64KB,是八个物理上连续的页.SQL Server中每MB有16个区.一旦一个区被存储满,SQL Server将分配一个区给下一条数据. 页:SQL Server中存储数据的基本单位,是区的分配单元.一个页大小为8KB.是SQL Server 每次读取和写入数据的最小单位.页的类型有数据页,索引页,文本页等等. 行:行存储于页中,一行一般最多占满一页,也就是8KB,但也有些VARCHAR(MAX),TEXT,…
数据库范式理论 范式理论是为了建立冗余较小结构合理的数据库所遵循的规则.关系数据库中的关系必须满足不同的范式.目前关系数据库有六种范式:第一范式(1NF).第二范式(2NF).第三范式(3NF).BCNF.第四范式(4NF).第五范式(5NF) 第一范式 对象的任意属性不能被拆分,每个属性有且仅有一个值,即没有重复的行,没有重复的列. 第二范式 在第一范式的基础上,要求所有非主属性都与主属性完全相关.假设属性1和属性2为主属性,属性3为非主属性,如果属性1或者属性2能唯一确定属性3,则不符合2N…
约束 主关键字约束(Primary Key Constraint) 用来指定表中的一列或几列组合的值在表中具有唯一性.建立主键的目的是让外键来引用. Primary Key的创建方式 在创建表时创建Primary Key CREATE TABLE table1( t_id VARCHAR(12) , t_name VARCHAR(20), t_phone VARCHAR(20), CONSTRAINT t_idss PRIMARY KEY(t_id) ); 对t_id列创建主键,约束名为t_id…
目录 1.架构 1.1.创建架构并在架构中创建表 1.2.删除架构 1.3.修改表的架构 2.视图 2.1.新建视图 2.2.使用视图修改数据 2.3.删除视图 3.索引 3.1.聚集索引 3.2.非聚集索引 3.3.创建索引 3.4.修改索引 3.5.查看索引 3.6.查看索引碎片 3.7.查看统计信息 1.架构 架构是一种独立于用户的逻辑分组,组中可以存储表,视图,存储过程等.假如表1在架构1中,表2在架构2中,用架构1的用户名登录时表2不可见.且未添加该架构的数据库不能被该架构的用户访问.…