一个比较标准的sqlserver建表格式

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一个比较标准的sqlserver建表格式

CREATE TABLE [dbo].[admin](

[id] [int] IDENTITY(1,1) NOT NULL,

[usersname] [nvarchar](50) NULL,

[password] [nvarchar](50) NULL,

[groud] [int] NULL CONSTRAINT [DF_admin_groud] DEFAULT ((0)),

[data] [datetime] NULL CONSTRAINT [DF_admin_data] DEFAULT (getdate()),

CONSTRAINT [PK_admin] PRIMARY KEY CLUSTERED

(

[id] ASC

)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

解释:

CONSTRAINT [PK_admin] PRIMARY KEY CLUSTERED

(

[id] ASC

)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY]

这是在id列上创建一个唯一聚集索引的语句。

primary key表明创建的是主键约束,culstered表示索引类型是聚集索引,IGNORE_DUP_KEY = OFF的作用是在向表中插入数据的时候,如果遇到表中已经存在id的值,insert语句就会失败,并且回滚整个insert语句。

ON [PRIMARY]表示是索引创建在主文件组上。

[pk_ admin] 是主键的名称。

需要注意的是sqlserver2000不支持WITH (IGNORE_DUP_KEY = OFF)

再看一个,和上面的有一点不一样:

CREATE TABLE [dbo].[news](

[id] [int] IDENTITY(1,1) NOT NULL,

[title] [nvarchar](100) NULL,

[classid] int NULL,

boardid int NULL,

[contents] [ntext] NULL,

[oSource] [nvarchar](50) NULL,

[oAuthor] [nvarchar](50) NULL,

[picurl] [nvarchar](100) NULL,

[keytxt] [nvarchar](50) NULL,

[data] [datetime] NULL CONSTRAINT [DF_news_data] DEFAULT (getdate()),

[hklick] [int] NULL CONSTRAINT [DF_news_hklick] DEFAULT ((0)), [pinglun] [int] NULL CONSTRAINT [DF_news_pinglun] DEFAULT ((0)),

CONSTRAINT [PK_content] PRIMARY KEY CLUSTERED

(

[id] ASC

)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

解释:TEXTIMAGE_ON [PRIMARY]

TEXTIMAGE_ON [PRIMARY]说明当表中有text、ntext或image列时,将text、ntext或image列的内容放在哪个文件组.如果都是primary那就是放在同一个文件组里.

附:聚集索引

一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。

聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。

聚集索引对于那些经常要搜索范围值的列特别有效。使用聚集索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。这样有助于提高此类查询的性能。同样,如果对从表中检索的数据进行排序时经常要用到某一列,则可以将该表在该列上聚集(物理排序),避免每次查询该列时都进行排序,从而节省成本。

当索引值唯一时,使用聚集索引查找特定的行也很有效率。例如,使用唯一雇员ID 列emp_id 查找特定雇员的最快速的方法,是在emp_id 列上创建聚集索引或PRIMARY KEY 约束。

相关文档
最新文档