暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

不知道这六大约束,就别说自己会MySQL

56



数据库管理和应用

MySQL

            六大约束

在 MySQL 的世界中,有六种约束——非空约束、默认约束、唯一约束、主键约束、自增长约束、外键约束,这六大约束犹如六位忠诚的卫士,守护着数据的安全与完整。


NOT NULL:非空约束,杜绝数据的空白,确保每一个记录都有其价值;

DEFAULT:默认约束,为数据提供贴心的预设,简化录入过程;

UNIQUE KEY(UK):唯一约束,保证数据的独一无二,拒绝重复;

PRIMARY KEY(PK):主键约束,赋予数据唯一标识,成为查询与关联的关键;

AUTO_INCREMENT:自增长约束,让数据有序递增,轻松管理。

FOREIGN KEY(FK):外键约束,搭建表与表之间的桥梁,维系数据关系;


它们共同为 MySQL 数据库的稳定运行保驾护航。


下面我们来了解下它们。





1.NOT NULL:非空,在我们新增数据的时候 这个字段必须新增的同时有值;

2.DEFAULT:默认,在你没有给定值得时候 数据库默认的值;

3.UNIQUE KEY(UK):唯一,是指一个字段中所有的值不能重复,保证了数据(字段) 的唯一性;

4.PRIMARY KEY(PK):主键,通过主键一定能找到唯一的一条记录(主键包含非空且唯一这两种约束);

    a)保证数据没有重复,标识唯一性;

    b)主键可以帮我们提高计算机内存使用率以及提升计算机运行速度;

    c)有时候为了完成一张表格需要多张表格的辅助,就是为了减少冗余;

5.AUTO_INCREMENT:自动增长,主键数字自动往上递增1;可以使用自动增长的约束;

注意事项:

    a)自动增长约束必须是主键而且数据类型是int;

    b)自动增长的数字不会回退;

6.FOREIGN KEY(FK):外键,可以使两张表关联,保证数据的一致性,引用完整性,子表的取值范围受父表约束。



下面我们通过例子来看看这几种约束的用法。假如要创建下面两张表:

1、先创建school数据库--创建年级表(grade)

      包含字段年级编号(g_id)int型、主键;

            年级名称(g_name)varchar(20) , 非空。

2、创建学生表(student)

      包含字段学生编号(stu_id)int型、主键、自增长;

          学生姓名(stu_name)varchar(20)且唯一;

           年级(stu_grade)int类型、非空;

              学生邮编(stu_postcode)int类型,默认200000。

3、根据上面两张表创建外键约束。


操作如下:

首先是创建school数据库。

然后使用school数据库。

然后创建grade数据表。

创建student数据表。

添加外键。


最后这个操作,是在两张表建好以后,再给表添加外键,格式是:

alter table 子表名称 add constraint 外键名称 foreign key(子表关联字段) references 父表名称(父表关联字段)




入门内容可点击【数据分析入门】进行查看,进阶内容可点击【数据分析进阶】,后续将会对数据分析中涉及到的内容做系列介绍,如对内容感兴趣,可关注公众号及时接收更新内容。



 FOLLOW US 

关注我们

问题咨询请扫码

文中部分图片源自网络,如有侵权,请联系删除


文章转载自数据分析记事本,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论