CREATE TABLE 表名
(
[Id] [int] IDENTITY(1,1) NOT NULL,
...
...
CONSTRAINT [PK_表名] PRIMARY KEY NONCLUSTERED --primary key表明创建的是主键约束,culstered表示索引类型是聚集索引
(
[Id] ASC --在id列上创建一个唯一聚集索引的语句。
)
WITH
(PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY] --表示是索引创建在主文件组上。
)
ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] --表示字段全部存贮在PRIMARY文件组里面,如果出现了TEXTIMAGE_ON(表中的text,ntext和image列的文件组名)也存贮在PRIMARY文件组里面
--PAD_INDEX
--指定填充索引的内部节点的行数,至少应大于等于两行。PAD_INDEX 选项只有在FILLFACTOR 选项指定后才起作用。因为PAD_INDEX 使用与FILLFACTOR 相同的百分比。缺省时,SQL Server 确
--保每个索引页至少有能容纳一条最大索引行数据的空闲空间。如果FILLFACTOR 指定的百分比不够容纳一行数据SQL Server 会自动内部更改百分比。
--STATISTICS_NORECOMPUTE
--指定分布统计不自动更新。需要手动执行不带NORECOMPUTE 子句的UPDATESTATISTICS 命令。
--IGNORE_DUP_KEY
--此选项控制了当往包含于一个惟一约束中的列中插入重复数据时SQL Server 所作的反应。当选择此选项时,SQL Server 返回一个错误信息,跳过此行数据的插入,继续执行下面的插入数据
--的操作:当没选择此选项时,SQL Server 不仅会返回一个错误信息,还会回滚(Rolls Back)整个INSERT 语句
--all_row_locks
--是否允许行锁
--allow_page_locks
--是否允许页面锁
IF OBJECT_ID(N'STUDENT') IS NOT NULL
DROP TABLE STUDENT
GO
--这条语句是在判断是否有 STUDENT 这张表,如果有的话就删除!OBJECT_ID() 其实是一个系统函数用于返回对象标识号,因为在SQL-Server 中 在一个数据库中不存在相同的表名--,而且每个表名都进行了ID标识 ,所以可以用这个函数来判断是否有某个对象的存在。