sql语句创建主键、外键、索引、绑定默认值

时间:2023-03-08 16:36:31
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