字段数据类型
数字数据类型:
整数数据类型:bigint,int,smallint,tinyint
decimal和numeric
muney和smalloney
float和real 浮点类型
字符数据类型
Char (10) 不管存储字符是否到达这个长度,占据空间都是10个字符
Varchar(50) 可变长度,虽然声明50个空间,但是他并不是一定占据50个字符。
Text 文本类型
Nchar
Nvarchar N开头的都unico字符
Ntext
日期和时间类型
Datetime 和smalldatetime
两种的差别在于表示,时间和日期的范围不同,精度也不同,
datetime日期范围是1753-1-1到9999-12-31,时间精度是3.33毫秒。
Smalldatetime 日期范围是1900-1-1到2079-12-31 时间精度是一分钟
二进制的类型
Binary varbinay,image三种数据类型
Binary用于存数固定长度的二进制数据,
Varbinary 用于存储可变长度的二进制数据, 两者的存储长度都是1-8000
image用于存储图像信息专用数据类型
专用的数据类型
cursor,sql_variant,table,timestamp,uniqueidentifier,xml等六种特殊用途的本机数据类型。
临时表
本地临时表的名称以单个数字符号#开头。仅对当前的用户连接是可见的。全局临时表名称是以两个数字符号##开头,创建后对任何用户都可见
Create table #test
(id int not null
Name nvarchar(10) null,
Adress nvarchar(50) null
)
在对象资源管理器中可能看不到这个临时表,但是使用select可以查询到。
check约束和规则的区别
check约束是用create table语句在创建表示指定的,而规则需要作为单独的数据库对象来使用
在一列上只能使用一个规则,但可以使用多个check约束
规则则可应用于多个列,还可以应用于用户自定义的数据类型,check约束只能用于他的列
创建规则: create rule 规则名称 as 取值表达式
Create rule sorce as @value between 0 and 100 创建规则
Sp_bindrule sorce ,’成绩信息,分数‘将约束绑定到具体的列
解除和删除规则
应先解除规则的依赖性
Futureonly 表示在objectname绑定的是当前用户自定义的类型中取值为null 时解除,若是futureonly则是在解除时报错
删除规则
Drop rule sorce
解除绑定
Sp_unbindrule ‘成绩信息,分数’