MySQL约束

MySQL约束

约束类型:

1.主键约束

主键,又称主码,是表中一列或多列的组合
主键约束要求列的数据唯一,并且不允许为空

语法规则
字段名 数据类型 PRIMARY KEY [默认值]

单字段主键如:

CREATE TABLE mydb1
(
	id      INT(11) PRIMARY KEY,
	name    VARCHAR(25),
	deptId  INT(11),
	salary  FLOAT
);

或者多字段主键如:

CREATE TABLE mydb1
(
	id      INT(11),
	name    VARCHAR(25),
	deptId  INT(11),
	salary  FLOAT,
	PRIMARY KEY(id,name....)
);

2.非空约束

非空约束指定的字段值不能为空

语法规则
字段名 数据类型 not null

如:

CREATE TABLE mydb1
(
	id      INT(11) PRIMARY KEY,
	name    VARCHAR(25) not null,//使用非空约束
	deptId  INT(11),
	salary  FLOAT
);

3.唯一性约束

唯一性约束要求该列唯一

语法规则
字段名 数据类型 UNIQUE

如:

CREATE TABLE mydb1
(
	id      INT(11) PRIMARY KEY,
	name    VARCHAR(25) UNIQUE,//使用唯一性约束
	deptId  INT(11),
	salary  FLOAT
);

4.默认约束

指定某列的默认值

语法规则
字段名 数据类型 DEFAULT 默认值

如:

CREATE TABLE mydb1
(
	id      INT(11) PRIMARY KEY,
	name    VARCHAR(25),
	deptId  INT(11) DEFAULT 10,//使用默认约束
	salary  FLOAT
);

5.外键约束

外键约束用来在两个表之间进行数据连接
主表:对于两个具有关联关系的表而言,相关字段中主键所在的那个表即使主表
从表:对于两个具有关联关系的表而言,相关字段中外键所在的那个表即是从表

语法规则
[CONSTRAINT<外键名/外键约束>] FOREIGN KEY 字段名 REFERENCES<主表名> 主键列

如:
创建一个部门表tb_dept1

CREATE TABLE tb_dept1
(
	id         INT(11) PRIMARY KEY,
	name       VARCHAR(22) NOT NULL,
	location   VARCHAR(50)
);

定义数据表tb_emp5,让它的键dept1作为外键关联到tb_dept1的主键id

CREATE TABLE tb_emp5
(
	id        INT(11) PRIMARY KEY,
	name      VARCHAR(25),
	deptId    INT(11),
	salary    FLOAT,
	CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCE tb_dept1(id)
);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值