MySQL之约束 ——恋天小结

本文详细介绍了MySQL中的数据约束,包括实体完整性(主键约束)、主键自增、关联完整性(外键约束)、唯一约束(unique)、非空约束(not null与default)。讲解了如何在创建表时和之后添加这些约束,并提供了相应的SQL语句示例,帮助理解如何在数据库中确保数据的唯一性和完整性。
摘要由CSDN通过智能技术生成

约束分类

在这里插入图片描述

实体完整性(主键)

整性(主键)我们的java类,对应的就是一张表,成员变量对应一个字段,一个类对象对应一条数据,那么对象都有一定的唯一性

比如判断对象是否相等,我们通常使用equals()方法和hashCode()方法,那么怎么在数据库中表示数据的唯一性呢?

主键通常用于唯一确定表中的一条记录,设置为主键的字段是不能为NULL并且不能重复的。

主键可以设置在一个字段上,也可以设置在多个字段上。(但大多数场景都是设置在一个字段上,这个字段通常是业务主键或者流水号)

主键设置可以划分为两种
第一种 : 创建表语句时,添加主键约束。
第二种 : 创建表完成之后,通过alter添加主键约束。
下面是使用方式

**第一种 : 创建表语句时,添加主键约束**
 create table person( 
        id int ,        
        name varchar(100),       
         income decimal(18,2),        
         primary key (id,name)    
   );

上面代码设置了两个主键 
create table person1(
        id int ,        
        name varchar(100),        
        income decimal(18,2),       
         primary key (id)     
    );

上面代码设置了一个主键
如果只有一列主键,也可以直接写在字段后面 
create table person2(
 	   id int primary key,       
 	   name varchar(100) ,      
 	     income decimal(18,2)     
      );

第二种 : 创建表完成之后,通过alter添加主键约束
语法 : alter table 表名 add primary key(列名,列名…);
create table person3(
id int ,
name varchar(100),
income decimal(18,2)
);
比如要对person3表添加id列主键 alter table person3 add primary key(id);

主键自增

上面我们已经对表添加了主键,主键值不能为空且不能重复,那么问题来了…
如果主键的值让客户输入的话,很容易就重复了,比如888,666等数字大家都喜欢使用,导致一直输入不正确,非常不方便
所以又有了自增的概念,所谓自增,望文知意,就是自动增加,不用我们输入值
但是自增的列,必须为主键列,关键字 auto_increment
设置自增的两种方式 :<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值