SQL Server 工作技巧

   1、 isnull();函数

  在SQL Server 中经常会遇到一些字段为空值,这里可以使用isnull()这个函数来做判断;eg:

  select isnull(Table_column,'Test') as column from Table

  这个语句意思就是:从Table表中取字段Table_column,如果该字段值为空,则用“Test”字符来代替;

  2、sysobject

  SQL Server中有一个系统对象表 sysobject 这个表里存储了数据库中所有的对象,比如约束,默认值,日志,规则,存储过程,表名等等,详细可以查看帮助手册;

  select name from sysobject where Xtype='U'

  这语句就是讲数据库中所有的表名查出来;

  Xtype可以取值为以下:

  C = CHECK 约束

  D = 默认值或 DEFAULT 约束

  F = FOREIGN KEY 约束

  FN = 标量函数

  IF = 内嵌表函数

  K = PRIMARY KEY 或 UNIQUE 约束

  L = 日志

  P = 存储过程

  R = 规则

  RF = 复制筛选存储过程

  S = 系统表

  TF = 表函数

  TR = 触发器

  U = 用户表

  V = 视图

  X = 扩展存储过程

  AF = 聚合函数 (CLR)

  FS = 程序集 (CLR) 标量函数

  FT = 程序集 (CLR) 表值函数

  IF = 内联表函数

  IT = 内部表

  PC = 程序集 (CLR) 存储过程

  PK = PRIMARY KEY 约束(type 为 K)

  SN = 同义词

  SQ = 服务队列

  TA = 程序集 (CLR) DML 触发器

  TT = 表类型

  UQ = UNIQUE 约束(type 为 K)

  3、SQL Server 2008工具使用;

  新建立一个数据库表时,当建立好了,但又要修改,有时候DB会阻止对表结构的修改,需要设置如下:

  SQLServer----"tool"----"option"----"Designers"----"prevent saving changes that require table recreating" 去掉这个“阻止修改”选项;

  4、nvarchar(Max)

  SQL Server 中Max是最大值,其定义是4000,nvarchar(Max) 其实就是nvarchar(4000);

  5、select * from table

  在数据库中,一般小数据量的select * from table 不会发觉有什么慢,但是一旦到了大数据量的数据库中,这种查询是最慢的最耗时间的!数据库的开销会很大!

  所以不要轻易的在大数据表上执行不带条件的select cout(*) from table,不仅耗时大,而且会把这个数据库表上S锁,在cout(*)期间,任何有关和该表的insert update delete都会被阻止!!!

  6、getdate()

  getdate()函数用于获得当前系统的系统时间这个精确到了毫秒:eg:"2013-12-12 12:23:33:321"

  7、newid()

  这个不用多说了,做主键ID时最常用了,此函数可以生成一个唯一的guid,32位长,这个强度大,而且由数据库系统生成,具有唯一性!

时间: 2024-12-01 22:34:42

SQL Server 工作技巧的相关文章

SQL Server优化技巧之SQL Server中的"MapReduce"

原文:SQL Server优化技巧之SQL Server中的"MapReduce" 日常的OLTP环境中,有时会涉及到一些统计方面的SQL语句,这些语句可能消耗巨大,进而影响整体运行环境,这里我为大家介绍如何利用SQL Server中的"类MapReduce"方式,在特定的统计情形中不牺牲响应速度的情形下减少资源消耗. 我们可能经常会利用开窗函数对巨大的数据集进行分组统计排序.比如下面的例子: 脚本环境 /* This script creates two new

两个SQL Server维护技巧

确实,数据库的维护常常交给那些专业的数据库管理员,但是作为一个开发者,你也许偶尔需要暂时从事这个工作.所以,试一试这两个SQL服务器维护技巧:轻松改变数据库拥有者.整理索引碎片.谁会想到你甚至可以给那些数据库管理员教上一两个新技巧呢? 重指定数据库拥有者当回复或者新建数据库时,你有没有注意到SQL Server把数据库的拥有者置为你的NT登录名?仅仅为了确保不同数据库间的一致性(更别提安全性因素了),你也许考虑用系统过程sp_changedbowner来把数据库拥有者改为其它用户如系统管理员(S

SQL Server维护技巧两则

确实,数据库的维护常常交给那些专业的数据库管理员,但是作为一个开发者,你也许偶尔需要暂时从事这个工作.所以,试一试这两个SQL服务器维护技巧:轻松改变数据库拥有者.整理索引碎片.谁会想到你甚至可以给那些数据库管理员教上一两个新技巧呢? 重指定数据库拥有者 当回复或者新建数据库时,你有没有注意到SQL Server把数据库的拥有者置为你的NT登录名?仅仅为了确保不同数据库间的一致性(更别提安全性因素了),你也许考虑用系统过程sp_changedbowner来把数据库拥有者改为其它用户如系统管理员(

Sample script that deletes a SQL Server database_javascript技巧

Sample script that deletes a SQL Server database. Supported Platforms SQL Server 2000  Yes Script Code 复制代码 代码如下: strDBServerName = "."  strDBToDelete       = "ScriptingGuysTestDB"  Set objSQLServer = CreateObject("SQLDMO.SQLServe

Sample script that displays all of the users in a given SQL Server DB_javascript技巧

Sample script that displays all of the users in a given SQL Server DB. Supported Platforms SQL Server 2000  Yes Script Code 复制代码 代码如下: strDBServerName = "."  strDBName = "ScriptingGuysTestDB"  Set objSQLServer = CreateObject("SQLD

SQL Server 小技巧【2】

--1.不要使用×来查询所有字段 SELECT * FROM DBO.tb1 --改为 SELECT FName,PWD,CreateDate FROM DBO.tb1 (NOLOCK) --2.查询数据行数SELECT COUNT(*) FROM tb1--改为 SELECT * FROM sysindexes WHERE id =OBJECT_ID('dbo.tb1') AND indid <2 --3.数字不要加引号,不然会全盘索引 SELECT * FROM DBO.tb1 (NOLOC

[Sql server]数据备份的三个恢复模型

在SQL Server 2000中,有无数种备份数据库的方法.无论你的数据库有多大.改变是否频繁,都有满足你的要求的备份策略.让我们看看几种可以在不同环境下工作的基本备份策略. 本文假定你有备份数据库的权限.也就是说,你要么是系统管理员,要么是db_owner或者backupadministrator.还有,我们还假定你的操作系统提供了访问备份所需要的资源的权利,例如,访问磁盘或者磁带驱动器. 从哪儿开始 在你开始备份一个SQL Server数据库之前,你需要知道该数据库使用了哪个恢复模型.这里

Sql server数据库备份的三个恢复模型

server|备份|恢复|数据|数据库 在SQL Server 2000中,有无数种备份数据库的方法.无论你的数据库有多大.改变是否频繁,都有满足你的要求的备份策略.让我们看看几种可以在不同环境下工作的基本备份策略. 本文假定你有备份数据库的权限.也就是说,你要么是系统管理员,要么是db_owner或者backupadministrator.还有,我们还假定你的操作系统提供了访问备份所需要的资源的权利,例如,访问磁盘或者磁带驱动器. 从哪儿开始 在你开始备份一个SQL Server数据库之前,你

SQL Server查询设计应避免的10个错误

在这篇文章中,将会列出10个常见的需要避免的查询设计错误.阅读此文,确保你不会成为这些错误的受害者,考虑给出的建议,修改你的查询. 1.数据模型和并发查询 如果你在构建数据模型的时候没有考虑到数据的访问方式,将会导致难以处理的查询.你可能会用到根本不必要的JOIN增加代码,损害性能. 要纠正这个问题,考虑一下需要访问数据的查询.如果查询在这个处理阶段不是很清晰,那么将来在写代码的时候就会更困难.很有可能是数据库设计过于复杂,可以通过简化来改善查询的性能. 与此相关,如果你是个喜欢直观的人,那么就