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