1、字段的数据类型

 

数字数据类型

1)整数数据类型:bigint、int、smallint、tinyint。

2)decimal和numeric

3)money和smallmoney

4)float和real数据库类型

5)Bit

 

字符数据类型

1)char [固定长度]

2)Varchar [可变长度]

3)Text [大文本数据]

4)Nchar

5)Nvarchar

6)Ntext

 

1-3项是非unicode字符,4-6是unicode字符

 

日期和时间数据库类型

日期和时间数据库包括datetime和smalldatetime两种类型。这两种类型的差别在于其表示的日期和时间范围不同,时间精度也不同。datetime所存储的日期范围是从1753年1月1日开始至9999年12月31日结束,时间精确度是3.33毫秒。使用small数据类型时,所存储的日期范围是1900年1月1日开始到2079年12月31日结束,时间精确度是1分钟。

 

二进制数据类型

二进制数据类型包括binary、varbinay、image等3种数据类型,可以用于存储二进制数据。其中binary用于存储固定长度的二进制数据,varbinary用于存储可变长度的二进制数据。binary(n)和varbinary(n)的数据长度由n值为决定,n的取值范围是1至8000。image数据类型用于存储图像信息。

 

专用数据类型

除前面介绍的数据类型之外,Microsoft sql server 2008系统还提供了cursor、sql_variant、table、timestamp、uniqueidentifier、xml等6种特殊用途的本机数据类型。使用这些数据类型可以完成特殊数据对象的定义、存储和使用。

 

2、CREATE TABLE语句

 



Create  Table T_User
(
    UserID  int  IDENTITY( 1, 1)  PRIMARY  KEY,
    UserName  nvarchar( 20)  NULL,
    Password  nvarchar( 32)  NULL,
    Sex  tinyint  NOT  NULL  DEFAULT  0
)



 

3、创建数据表(略)

 

4、使用临时表

 

临时表

临时表,顾名思义,是临时创建的、不能永久保存的表。临时表又可以分为本地临时表和全局临时表。本地临时表的名称以单个数字符号#打头,它们仅对当前的用户连接是可见的,当用户从SQLServer2008实体断开连接时自动被删除;全局临时表的名称以两个数字符号##打头,创建后对任何用户都是可见的,当所有引用该表的用户从SQLServer2008断开连接时被删除。

 



create  table #Tmp_UserTest
(
    uid  int  not  null,
    uname  nvarchar( 20)  not  null,
    password  nvarchar( 32)  not  null,
    sex  nvarchar( 2)  not  null
)

select  *  from



 

5、设置标识字段(略)

 

6、使用默认值(略)

 

7、创建约束

 

实验三 管理SQL Server表数据_数据

 

8、修改表

 

1)重命名:sp_rename T_User, T_Member

2)新增列:



alter  table t_member
add age  int  not  null  default  0



3)修改列的数据类型:



alter  table t_member
alter  column Password  nvarchar( 32)  not  null



4)删除列:



alter  table t_member
drop  column



5)更多参考Sql Server 2008 联机证书的 alter table帮助

 

9、用户自定义数据类型


1)用户自己设计并实现的数据类型就称为用户自定义数据类型,即使这些数据类型基于系统数据类型。当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。

 

2)当创建用户定义的数据类型时,必须提供三个数:

a)数据类型的名称

b)所基于的系统数据类型

c)数据类型的可空性

 

实验三 管理SQL Server表数据_实验三 管理SQL Server表数据_02

 

 

实验三 管理SQL Server表数据_数据类型_03

 

 10、使用规则

 

概述

规则是单独的Sql Server对象,可以关联到一个或几个表中的一列或几列。它可以使用多种方式完成对数据值的检验,可以使用函数返回验证信息,也可以使用关键字BETWEEN、LIKE 和IN完成对输入数据的检查。

 

规则的作用是 CHECK 约束的部分功能相同,在向表的某列插入或更新数据时,用它来限制输入的新值的取值范围。规则与CHECK约束的不同主要表现在以下几个方面:

1)CHEKC约束是用CREATE TABLE语句在创建表时指定的,而规则需要作为单独的数据库对象来实现。

2)在一列上只能使用一个规则,但可以使用多个CHECK约束。

3)规则可以应用于多个列,还可以应用于用户自定义的数据类型,而CHECK约束只能应用于它定义的列。

 

创建规则的语法格式

CREATE RULE rule_name AS condition_expression

 



CREATE  RULE age_rule
AS
@value  between  18  and  65

sp_bindrule age_rule, ' T_Member.age '




11、解除和删除规则

 

注意:在删除规则之前必须解除规则与列的绑定

 

解除规则绑定语法:

sp_unbindrule [@objectname=]<object_name>
[,[@futureonly=]<futureonly_flag] 
 
 
 
' 
   T_Member.age 
   ' 
   
drop  
   rule



 

12、数据关系图(略)