随笔分类 - SQL
摘要:1. 查看用户表select name from sys.tablesselect name from sys.objects where type='U'select name from sysobjects where xtype='U' 其中type或xtype值:U = 用户表S = 系统...
阅读全文
摘要:1 理解表 表是具有相同常规属性(attribute)的数据实例的集合。这些数据实例组成数据行和列。2 数据表设计范式2.1 第一范式 第一范式(1NF)是关于消除重复数据组和保证原子性的规范化。理解为创建主键,将任何重复的数据组移动到新的表中,为这些表创建新键,如此进行下去。2.2 第二范式 ...
阅读全文
摘要:1 利用临时表分页 分页存储过程:CREATE PROCEDURE [USP_Product_GetPaged] @WhereClause VARCHAR (2000), @OrderBy VARCHAR (2000), @PageIndex INT, @PageSize ...
阅读全文
摘要:1 CTE语法WITH关键字 通用表表达式(Common Table Express, CTE),将派生表定义在查询的最前面。要使用CTE开始创建一个查询,可以使用WITH关键字。 CTE语法:WITH [(column_name [,...n])] AS ( CTE_query_...
阅读全文
摘要:1 子查询概念 子查询是嵌套在另一个查询中的普通T-SQL查询。在有一个SELECT语句通过使用小括号创建子查询,作为另一个查询的部分数据或条件的基础。 子查询通常用于满足以下某个需求: ◊ 将一个查询分解为一系列的逻辑步骤 ◊ 提供一个列表作为WHERE子句或[IN | EXISTS | ...
阅读全文
摘要:DBCC(Database Base Consistency Checker,数据库一致性检查程序)命令用于验证数据库完整性、查找错误和分析系统使用情况等。1. DBCC CHECKALLOC 检查指定数据库的磁盘空间分配结构的一致性。 语法:DBCC CHECKALLOC [ ( d...
阅读全文
摘要:变量是Transact-SQL中由用户定义、可对其赋值并参与运算的一个实体,分为全局变量和局部变量。其中全局变量由系统自定义并维护,全局变量名称前面有@@字符,任何程序均可随时调用。局部变量名称前面有一个@,由用户定义和使用。 1 局部变量 局部变量一般出现在批处理、存储过程和触发器中,如果要使用局
阅读全文
摘要:用户自定义函数可以像系统函数一样在查询或存储过程中调用,可以接受参数、执行操作并将操作结果以值的形式返回。返回值可以是单个标量或结果集。1. 标量函数 标量函数返回一个确定类型的标量值,对于多语句的标量函数,定义在BEGIN END块中的函数体包含一系列返回单个值的T-SQL语句。 创建标量...
阅读全文
摘要:1 存储过程简介 存储过程是使用T-SQL代码编写的代码段。在存储过程中,可以声明变量、执行条件判断语句等其他编程功能。在MS SQL Server 2012中存储过程主要分三类:系统存储过程、自定义存储过程和扩展存储过程。 存储过程的优点: ◊ 存储过程加快系统允许速度,存储过程只在创建时编...
阅读全文
摘要:1. 游标简介 游标是一种处理数据的方法,主要用于存储过程、触发器和Transact-SQL脚本中。SELECT语句返回的是一个结果集,游标能够从包含多条数据记录的结果集中每次提取一条记录。 游标的特点: ◊ 允许对由SELECT查询语句返回的行集中的每一行执行相同或者不同的操作,而不是对整个...
阅读全文
摘要:视图是数据库中的一种虚拟表,与真实的表一样,视图包含一系列带有名称的行和列数据。行和列数据用来自定义视图的查询所引用的表,并且在引用视图时动态生成。1. 视图的概念 视图是从一个或者多个表中导出的,其行为与表相似,但视图是一个虚拟表。视图可以在已经存在的视图的基础上定义。在视图上用户可以使用S...
阅读全文
摘要:在SQL Server中有4个排序函数:ROW_NUMBER()、RANK()、DENSE_RANK()及NTILE()函数。1.ROW_NUMBER()函数 ROW_NUMBER()函数为每条记录添加递增的顺序数值序号,即使存在相同的值也递增序号。 示例:SELECT ROW_NUMBER...
阅读全文
摘要:连接查询是关系数据中最主要的查询,包括内连接、外连接等。通过连接运算符可以实现多个表查询。内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。SQL Server中的内连接有:等值连接和不等连接。1 内连接-相等连接 相等连接又叫等值连接,在连接条件这使用等号(=)运...
阅读全文
摘要:嵌套查询是指一个查询语句嵌套在另一个查询语句内部的查询。嵌套查询也就子查询,在SELECT子句中先计算子查询,子查询结果作为外层另一个查询的过滤条件,查询可以基于一个表或多个表。子查询中可以使用比较运算符,如“”、“>=”等。 子查询中常用的操作符有ANY(SOME)、ALL、EXISTS。子...
阅读全文
摘要:1 SUM SUM是一个求和函数,返回指定列值的总和。SUM 只能用于数字列。其中忽略 Null 值。 语法SUM ( [ ALL | DISTINCT ] expression ) OVER ( [ partition_by_clause ] order_by_clause ) 示例...
阅读全文
摘要:T-SQL中用来编写流程控制模块的语句有:BEGIN...AND语句、IF...ELSE语句、CASE语句、WHILE语句、GOTO语句、BREAK语句、WAITFOR语句和RETURN语句。1 BEGIN...AND语句 语句块是多条Transact-SQL语句组成的代码段,从而可以执行一组...
阅读全文
摘要:1. 返回表中指定字段的长度值COL_LENGTH 返回列的定义长度(以字节为单位)。 语法:COL_LENGTH ( 'table' , 'column' ) 示例:SELECT COL_LENGTH('dbo.Product', 'ProductName')2. 返回表中指定子段的名称CO...
阅读全文
摘要:T-SQL提供了两个显示转换的函数:CAST函数和CONVERT函数。1. CAST函数 语法:CAST ( expression AS data_type [ ( length ) ] ) 示例:SELECT CAST(100 AS CHAR(3))2. CONVERT函数 语法:CON...
阅读全文
摘要:1. 获取系统当前日期函数GETDATE() GETDATE()函数用于返回当前数据库系统的日期和时间,返回值的类型为datetime。SELECT GETDATE()2. 返回UTC日期的函数GETUTCDATE() UTCDATE()函数返回当前UTC(世界标准时间)日期值。SELECT G...
阅读全文
摘要:字符串函数用于对字符和二进制字符串进行各种操作,大多数字符串函数只能作用于char、nchar、varchar和nvarchar数据类型。字符串函数可以用在SELECT或者WHERE语句中。1. ASCII()函数 ASCII(character_expression)函数作用于返回字符串表达...
阅读全文