MySQL约束

空属性

不允许插入空值

列名 类型 not null

默认值

当用户++不显示++插入时,会默认赋值

列名 类型 default 默认值

不显示插入score时,会自动添加60。

附:空属性和默认值可以同时出现,但默认值已经约束了不能空了

列描述

列名 类型 comment'描述'

zerofill

作用让类型后的数字的宽度起作用。

附:hex(列名) 显示十进制 类型(m) m表示的不是存储大小,而是显示的宽度。

主键

主关键字(主键,primary key)是被挑选出来,作表的行的惟一标识的候选关键字一个表只有一个主关键字。主关键字又可以称为主键。主键可以由一个字段,也可以由多个字段组成,分别成为单字段主键或多字段主键。

++用来唯一的约束字段里的数据,不重复,不为空,一张表只能有一个,主键所在的列通常时整数类型。++

列名 类型 primary key 创建主键;

alter table 表明 drop primary key;删除主键;

alter table 表名 add primary key(列名);在已有的表添加主键

++主键不允许重复,不允许为空++

附:主键一遍刚开始建表就要确定,建表后,有了数据再确定主键是非常不好的行为。

复合主键

什么时候使用复合主键?

在一个主键不能唯一标识这个表中的记录的时候才使用复合主键

比如这种时候商品品牌商品型号

诺基亚920

三星NOTE2

诺基亚8088

比如这样商品品牌可能有重复,但是厂商生产的商品型号是不会重复的

++当id和name是复合主键是,id重复和name重复他们是互不影响的,但是当他们两次同时相同,并且再次出现时,就会被约束++

自增长

auto_increment 当对应的字段不给值时,会自动在最大值+1

特点

任何一个字段要自增长时,前提时本身时索引。

自增长必须是整数。

一张表最多只有一个自增长

自增长必须是在索引,主键,唯一键才能用。

而自增加可以设置初始值 比如图中初始值设置为5000

唯一键

一个表中有许多唯一字段,但主键只有一个,所以出现了唯一键。

主键更多是保证我们在查找时,能找到一段唯一的记录。

唯一键确保了字段的唯一性。

唯一键更多时为了确保数据的唯一性。

唯一性与主键互不冲突,反而时互相补充的。

相关推荐
QQ_4376643141 小时前
Redis协议与异步方式
数据库·redis·bootstrap
纪莫1 小时前
技术面:MySQL篇(InnoDB事务执行过程、事务隔离级别、事务并发异常)
数据库·java面试⑧股
Nerd Nirvana1 小时前
数据库模型全景:从原理到实践的系统性指南
数据库·oracle·电力行业
SelectDB1 小时前
从 Greenplum 到 Doris:集群缩减 2/3、年省数百万,度小满构建超大规模数据分析平台经验
数据库·数据分析·apache
alonewolf_992 小时前
MySQL索引优化实战二:分页、关联查询与Count优化深度解析
数据库·mysql
TDengine (老段)2 小时前
TDengine Python 连接器进阶指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
赵渝强老师2 小时前
【赵渝强老师】OceanBase的配置文件与配置项
数据库·oceanbase
玖日大大3 小时前
OceanBase SeekDB:AI 原生数据库的技术革命与实践指南
数据库·人工智能·oceanbase
高溪流4 小时前
3.数据库表的基本操作
数据库·mysql
alonewolf_994 小时前
深入剖析MySQL锁机制与MVCC原理:高并发场景下的数据库核心优化
数据库·mysql