Mysql中的约束

约束

概念:对表中的数据进行限定,保证数据的正确性,有效性,完整性;

分类: 四种约束

主键约束: primary key

非空约束: not null

唯一约束: unique

外键约束: foreign key

(一)非空约束

创建表的时候添加非空约束

create table stu(
id int,
name varchar(20) not null
)

删除表中的非空约束

删除表中的非空约束
alter table stu modify name varchar(20);

创建表以后,添加非空约束

alter table stu modify name varchar(20) not null;

(二)唯一约束

创建表时候添加唯一约束

create table stu(
id int ,
phone_number varchar(20) unique
);

唯一约束可以有null ,但是只可以有一条为null

删除唯一约束

alter table stu drop index phone_number;

(三)主键约束

主键约束
primary key
注意: 1.含义:非空且唯一
​ 2.一张表只能有一个字段是主键
​ 3.主键就是表中记录的唯一标识

在创建表的时候添加主键

create table stu(
id int primary key,
name varchar(20)
)

删除表中的主键

alter table stu drop primary key; (主键是唯一的,所以不需要指定字段)

创建完表以后,添加主键

alter table stu modify id int primary key ;

主键的自动增长

概念:如果某一列是数值类型的,使用auto_increment可以完成值的自动增长,

创建表时候添加自动增长

create table stu(
id int PRIMARY KEY auto_increment ,
name varchar(20)
);

注意:自动增长与上一条记录有关,他会先读取上一条记录,然后在进行自动增长;

删除自动增长

alter table stu modify id int;

添加自动增长

alter table stu modify id int auto_increment ;

(四)外键约束

外键约束 foreign key ; 让表与表产生关系,从而保证数据的正确性;
1.在创建表时候,可以添加外键
语法:

create table 表名(
...
外键列
CONSTRAINT 外键名称 foreign key (外键列名称) references 主表名称(主表列名称) 
);

A表字段属于B表中的字段 那么B表就是主表,其中字段就是主键

另外外键可以为null;

2.删除外键

alter table employee DROP FOREIGN key emp_dep_fk;

3.添加外键

alter table employee add CONSTRAINT emp_dep_fk foreign key (dep_id) REFERENCES department (id);

4.级联操作

就是你修改主表中的数据,从表中的数据也会跟着改变,这就是级联

添加外键,设置级联更新

alter table employee add CONSTRAINT emp_dep_fk foreign key (dep_id) REFERENCES department (id) on update CASCADE;

添加外键,设置级联删除

alter table employee add CONSTRAINT emp_dep_fk foreign key (dep_id) REFERENCES department (id) on update CASCADE;

当你将主表中的一条记录删除的时候,相应的从表中的数据也会被删除

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值