mysql添加主键约束的sql语句

发布时间: 2023-11-21 11:17 阅读: 文章来源:1MUMB1142PS

一、向MyServer数据库里的5张表添加约束:

1、向部门表Department添加约束

字段名

数据类型

表关系

备注

D_Id

INT

主键 自动增长 NOT NULL

部门ID

D_Name

Varchar(10)

NOT NULL

部门名称

USE MyServerGOALTER TABLE Department ADDCONSTRAINT PK_D_Id PRIMARY KEY(D_Id) --设置“部门ID”为主键GO

2、向产品类别表ProductSort添加约束

字段名

数据类型

表关系

备注

P_Id

INT

主键 自动增长 NOT NULL

产品类别ID

P_SortName

Nvarchar(20)

NOT NULL

产品类别名称

USE MyServerGOALTER TABLE ProductSort ADDCONSTRAINT PK_P_Id PRIMARY KEY(P_Id) --设置“产品类别ID”为主键GO

3、向员工表Employee添加约束

字段名

数据类型

表关系

备注

E_Id

Int

主键,自动增长

员工ID

E_Name

Varchar(10)

NOT NULL

姓名

E_IdCord

Nvarchar(18)

check约束,唯一约束

身份证

E_Date

DateTime

NOT NULL

入职日期

E_Phone

Nvarchar(11)

NOT NULL

电话

E_Adre

Nvarchar(100)

NOT NULL

地址

E_Nat

Varchar(10)

默认约束“中国”

国籍

E_Lea

Varchar(10)

NULL

上司

D_Id

Int

外键

部门ID

USE MyServerGOALTER TABLE Employee ADDCONSTRAINT PK_E_Id PRIMARY KEY(E_Id), --设置“员工ID”为主键CONSTRAINT CH_E_IdCord CHECK(LEN(E_IdCord)=18),--设置检查约束身份证号为18位CONSTRAINT QU_E_IdCord UNIQUE(E_IdCord), --设置身份证号唯一约束CONSTRAINT DF_E_Nat DEFAULT(‘中国‘) FOR E_Nat, --设置默认约束为“中国”CONSTRAINT FK_D_Id FOREIGN KEY(D_Id) References Department(D_Id) --设置部门ID引用部门表Department的D_Id列,即部门IDGO

4、向产品明细表ProductList添加约束

字段名

数据类型

表关系

备注

PL_Id

INT

主键 自动增长 NOT NULL

产品ID

PL_Name

Nvarchar(50)

NOT NULL

产品名称

PL_Amount

INT

>=0,NOT NULL

数量

PL_InPrice

Money

NOT NULL

成本价

PL_OutPrice

Money

NOT NULL

销售价

P_Id

INT

外键,NOT NULL

产品类别ID

USE MyServerGOALTER TABLE ProductList ADDCONSTRAINT PK_PL_Id PRIMARY KEY(PL_Id),--设置产品ID为主键CONSTRAINT CK_PL_Amount CHECK(PL_Amount>=0),--检查约束,数量不能为负CONSTRAINT FK_P_Id FOREIGN KEY(P_Id) REFERENCES ProductSort(P_Id)--外键约束,引用产品类别表的产品类别IDGO

5、向销售表SalesList添加约束

字段名

数据类型

表关系

备注

S_Id

INT

主键,自动增长 NOT NULL

销售ID

PL_Id

INT

外键,NOT NULL

产品ID

E_Id

INT

外键,NOT NULL

员工ID

S_Amount

INT

>0,NOT NULL

销售量

USE MyServerGOALTER TABLE SalesList ADDCONSTRAINT PK_S_Id PRIMARY KEY(S_Id),--设置销售ID为主键CONSTRAINT FK_PL_Id FOREIGN KEY(PL_Id) REFERENCES ProductList(PL_Id), --外键约束,引用产品明细表的产品IDCONSTRAINT FK_E_Id FOREIGN KEY(E_Id) REFERENCES Employee(E_Id), --外键约束,引用员工表的员工IDCONSTRAINT CK_S_Amount CHECK(S_Amount>0)--检查约束,数量必须大于0GO

二、添加表约束顺序:先添加主表,再添加引用表。

•••展开全文