sql语句创建主键、外键、索引、绑定默认值
use Mengyou88_Wuliu
--创建公司表 create table dbo.Company2 ( CompanyID int identity(1,1) not null, CompanyName varchar(50) null, AddDate datetime null, constraint PK_Company2_CompanyID primary key clustered (CompanyID) )
--创建会员表 create table dbo.Member ( MemberID int identity(1,1) not null, CompanyID int not null, MemberName varchar(20) null, AddDate datetime null, constraint PK_Member_MemberID primary key clustered (MemberId),--创建主键约束 )
--创建非聚集索引 create nonclustered index MemberIndex on Member(MemberID,MemberName)
--在已存在的表中为字段绑定默认值 alter table dbo.Member add constraint DF_Member_AddDate default(getdate()) for AddDate
--在已存在的表中添加一个外键 alter table Member add constraint FK_Member_CompanyID foreign key (CompanyID) references Company2(CompanyID)
知识点:
1、SQL聚集索引和非聚集索引的区别
- 非聚集索引的基础表的数据行不按非聚集键的顺序排序和存储,但聚集索引按聚集键的顺序排列和存储。
- 非聚集索引的叶层是由索引页组成,但聚集索引是由数据页组成。
- 每个表中非聚集索引可以有多个,但聚集索引只能有一个。
2、SQ六种约束类型
主键(PRIMARY KEY)约束、外键(FOREIGN KEY)约束、默认(DEFAULT)约束、唯一(UNIQUE)约束、检查(CHECK)约束、非空(NOT NULL)约束
参考网址:
SQL SERVER 约束 http://www.cnblogs.com/kissdodog/archive/2013/05/31/3109509.html
聚集索引结构 http://technet.microsoft.com/zh-cn/library/ms177443(v=sql.105).aspx
非聚集索引结构 http://technet.microsoft.com/zh-cn/library/ms177484(v=sql.105).aspx
sql server 的聚集索引与非聚集索引 http://www.cnblogs.com/tuyile006/archive/2009/08/28/1555615.html