欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL Server 工作技巧

程序员文章站 2024-04-03 08:50:40
...

1、 isnull();函数 在SQL Server 中经常会遇到一些字段为空值,这里可以使用isnull()这个函数来做判断;eg: select isnull(Table_column,'Test') as column from Table 这个语句意思就是:从Table表中取字段Table_column,如果该字段值为空,则用Test字符来代

  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位长,这个强度大,而且由数据库系统生成,具有唯一性!