随笔分类 -  SQL

摘要:触发器的一些常见用途: ◊ 强制参照完整性 ◊ 常见审计跟踪(Audit Trails):这意味着写出的记录不仅跟踪大多数当前的数据,还包括对每个记录进行实际修改的历史数据。 ◊ 创建与CHECK约束类似的功能:与CHECK约束不同,这种功能可以跨表、跨数据库甚至是跨服务器使用。 ◊ 用... 阅读全文
posted @ 2014-11-27 19:25 libingql 阅读(1097) 评论(0) 推荐(0)
摘要:1 索引概念 索引用于快速查找在某个列中某个特定值的行,不使用索引,数据库必须从第1条记录开始读完整个表,知道找出需要的行。表越大,查询数据所花费的时间越多。如果表中查询的列有索引,数据库能快速到达一个位置去查找数据,而不必遍历所有数据。 索引是一个单独的、存储在磁盘上的数据库结构,包含对数据表... 阅读全文
posted @ 2014-11-26 19:12 libingql 阅读(656) 评论(0) 推荐(0)
摘要:1. 索引设计原则 索引设计不合理或缺少索引都会对数据库的性能造成障碍,高效的索引对于获得良好的性能非常重要。 设计索引时的一些原则: ◊ 索引并不是越多越好,一个表中如果有大量的索引,不仅占用大量的磁盘空间,而且会影响INSERT、DELETE、UPDATE等语句的性能。当表中数据更改的同时... 阅读全文
posted @ 2014-11-25 19:38 libingql 阅读(928) 评论(0) 推荐(0)
摘要:1 约束的类型 约束可以分为3大类:实体约束、域约束和参照完整性约束。1.1 实体约束 实体约束都是关于比较行的,实体约束并不关心整体列中的数据,它只对特定行感兴趣。1.2 域约束 域约束处理一个或多个列,确保一个特定列或一组特定列满足特地的标准。在插入或更新一行时,域约束不考虑其他行。如限定... 阅读全文
posted @ 2014-11-24 22:59 libingql 阅读(1412) 评论(0) 推荐(0)
摘要:1T-SQL中SELECT语法结构 ::= [WITH [,...n]] [ ORDER BY { order_by_expression | column_position [ ASC | DESC ] } [ ,...n ] ] [ ] [ OPT... 阅读全文
posted @ 2014-11-24 11:23 libingql 阅读(13224) 评论(0) 推荐(0)
摘要:数据的删除将删除表的部分或全部记录,删除时可以指定删除条件从而删除一条或多条记录。如果不指定删除条件,DELETE语句将删除表中全部的记录,清空数据表。1 DELETE语法[ WITH [ ,...n ] ]DELETE [ TOP ( expression ) [ PERCENT ]... 阅读全文
posted @ 2014-11-24 10:22 libingql 阅读(12990) 评论(0) 推荐(0)
摘要:1 UPDATE语法结构[ WITH [...n] ]UPDATE [ TOP ( expression ) [ PERCENT ] ] { { table_alias | | rowset_function_limited [ WITH ( [ ...n ]... 阅读全文
posted @ 2014-11-21 17:05 libingql 阅读(22520) 评论(0) 推荐(0)
摘要:1 INSERT语法[ WITH [ ,...n ] ]INSERT { [ TOP ( expression ) [ PERCENT ] ] [ INTO ] { | rowset_function_limited [ WITH... 阅读全文
posted @ 2014-11-21 15:27 libingql 阅读(83474) 评论(0) 推荐(3)
摘要:数据控制语句用来设置、更改用户或角色的权限,包括GRANT、DENY、REVOKE等语句。 GRANT用来对用户授予权限,REVOKE可用于删除已授权的权限,DENY用于防止主体通过GRANT获得特定权限。默认状态下,只有sysadmin、dbcreator、db_owner、db_secur... 阅读全文
posted @ 2014-11-15 22:01 libingql 阅读(1349) 评论(0) 推荐(0)
摘要:运算符的一些符号,他们能够用于执行算术运算、字符串连接、赋值以及在字段、常量和变量之间进行比较。在SQL Server 2012中,运算符主要由以下6大类:算术运算符、赋值运算符、比较运算符、逻辑运算符、连接运算符以及按位运算符。1. 运算符1.1> 算术运算符 算术运算符可以在两个表达式上执... 阅读全文
posted @ 2014-11-14 15:46 libingql 阅读(12562) 评论(0) 推荐(1)
摘要:结构化查询语言(Structure Query Language,SQL)是对数据库进行查询和修改的语言。Transact-SQL是SQL的一种实现形式,它包含了标准的SQL语言部分。 根据完成的具体功能,Transact-SQL分为4大类,分别是数据操作语句、数据定义语句、数据控制语句和一些... 阅读全文
posted @ 2014-11-14 15:28 libingql 阅读(1724) 评论(0) 推荐(0)
摘要:表是用来存储数据和操作数据的逻辑结构,用来组织和存储数据,关系数据库中的所有数据都表现为表的形式,数据表由行和列组成。SQL Server中的数据表分为临时表和永久表,临时表存储在tempdb系统数据库中,当不再使用或退出SQL Server时,临时表会自动删除;永久表一旦创建之后,除非用户删除... 阅读全文
posted @ 2014-11-10 14:45 libingql 阅读(816) 评论(0) 推荐(0)
摘要:数据库对象是数据库的组成部分,数据表、视图、索引、存储过程以及触发器等都是数据库对象。 数据库的主要对象是数据表,数据表是一系列二维数组的集合,用于存储各种信息。 视图表面上看与表几乎一样,具有一组命名的字段和数据项,但它其实是一个虚拟的表,是通过查询数据库中的表数据后产生的,它限制了用户能... 阅读全文
posted @ 2014-11-07 17:30 libingql 阅读(2935) 评论(0) 推荐(0)
摘要:1 创建数据库1.1 CREATE DATABASE语法CREATE DATABASE database_name [ ON [ PRIMARY ] [ ,...n ] [ , [ ,...n ] ] [ LOG ON [ ,...n ] ] ] [ COL... 阅读全文
posted @ 2014-11-07 16:12 libingql 阅读(749) 评论(0) 推荐(0)
摘要:1. 数据库组成 数据库的存储结构分为逻辑存储结构和物理存储结构。 ◊ 逻辑存储结构:说明数据库是由哪些性质的信息所组成。SQL Server的数据库不仅仅只是数据的存储,所有与数据处理操作相关的信息都存储在数据库中。 ◊ 物理存储结构:数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日... 阅读全文
posted @ 2014-11-06 14:23 libingql 阅读(7138) 评论(0) 推荐(0)
摘要:模板资源管理器是Microsoft SQL Server Management Studio的一个组件,可以用来SQL代码模板,使用模板提供的代码,省去每次都要输入基本代码的工作。 使用模板资源管理器的步骤: 1>. 打开Microsoft SQL Server Management Stu... 阅读全文
posted @ 2014-11-04 21:18 libingql 阅读(1379) 评论(0) 推荐(1)
摘要:一、SQL Server基础部分 1 数据库概念及规范化设计 1.1 数据库物理模式设计 1.2 Microsoft SQL Server Management Studio模板资源管理器 2 数据库 2.1 数据库组成及系统数据库 2.2 数据库操作 2.3 数据库对象 2.4 DBCC命令 3 阅读全文
posted @ 2014-11-03 13:43 libingql 阅读(1194) 评论(0) 推荐(2)
摘要:1、Create、Alter和DropCREATE PROCEDURE USP_CategoryListAS SELECT CategoryID,CategoryName FROM Category 在创建存储过程时,应该使用一致的规范来命名存储过程,而不要使用sp_,使用sp_只会导致名称冲突和混乱。可以使用usp_作为存储过程名的前缀,但即使不使用任何前缀,也比使用sp_好。2、返回记录集EXEC USP_CategoryList3、编译存储过程EXEC sp_recompile USP_CategoryList4、查看存储过程sp_helptext USP_Category... 阅读全文
posted @ 2014-03-01 21:29 libingql 阅读(693) 评论(0) 推荐(0)
摘要:客户/服务器开发的主要目的在于将处理数据的程序移动到离数据尽可能近的地方。通过将处理数据的程序从客户应用程序移动到服务器,可以降低网络流量,并提高性能和数据的完整性。 要将处理数据的程序移动到离数据更近的地方,最常用的方法之一就是开发存储过程。1、管理存储过程1.1、create、alter和drop 存储过程是由如下的数据定义语言命令来管理的:create、alter和drop。 create用于创建存储过程,它是批处理中的第一个命令,批处理的正常结束就意味着存储过程创建成功。drop命令会从数据库中删除存储过程,alter命令会将原有的存储过程替换为新的代码。如果要修改存储过程,... 阅读全文
posted @ 2013-03-18 19:56 libingql 阅读(579) 评论(0) 推荐(0)
摘要:1、变量 T-SQL变量是由declare命令声明的。声明时,需要declare命令的后面指定要声明的变量名及其数据类型。可以使用的数据类型包括create table命令中的所有数据类型,以及table和SQLvariant数据类型。在单个declare命令中声明多个变量时,需要使用逗号将它们相互隔开。1.1、变量的默认值和作用域 变量的作用域(即可以使用变量的应用程序和变量的生命周期)只能是当前的批处理。新声明的变量默认值为空值,在表达式中使用它们之前必须为它们赋初值。 下面的脚步创建了两个测试变量,并展示了它们的初值和作用域。它由两个批处理构成的(由go相互隔开),但它们却属于同一... 阅读全文
posted @ 2013-03-15 21:25 libingql 阅读(704) 评论(0) 推荐(0)