mysql常见约束篇

所谓数据库约束,就是规定表的字段取值的规则。今天主要介绍唯一约束、非空约束、主键约束、外键约束。

1. 创建数据库

   create database mytest;

   use mytest;

        

  2. 唯一约束

            2.1 创建表时添加约束

create table test
(
name varchar(20) unique
); 

insert into test(name) values('aaa');

insert into test(name) vlaues('aaa'); //会报错。

   2.2 通过sql语句添加约束

alter table test modify name varchar(20) unique;

3.  非空约束

3.1 创建表时添加约束

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

3.2 通过sql语句创建

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


4. 主键约束

主键要保证非空而且还得是唯一。所以主键约束是非空约束和唯一约束的联合体。

4.1 创建表时添加约束

create table test
(
id int primary key auto_increment,
name varchar(20)
);

4.2 通过sql语句创建

alter table test modify id int primary key auto_increment;

5. 外键约束

当某一个表需要引用另一个表主键产生参照完整性时,需要对改表添加外键约束。

主键和外键是一种不求同生,但求同死的关系。

        5.1 创建表时添加约束

create table class
(
id int primary key auto_increment,
name varchar(20)
);
 -- 班级表

create table student
(
id int primary key auto_increment,
name varchar(20),
classid int not null,
constraint student_classid_fk foreign key(classid) references class(id)
); -- 学生表

删除外键约束:

alter table student drop foreign key student_classid_fk ;

5.2 通过代码创建

alter table student add constraint student_classid_fk  foreign key(classid) references class(id); 

以上就是mysql中常见约束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值