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

唯一键

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

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

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

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

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

相关推荐
云飞扬6 分钟前
浅谈数据访问层
数据库·bpm·数据库访问层
Amarantine、沐风倩✨34 分钟前
一次线上性能事故的处理复盘:从 SQL 到扩容的工程化思路
java·数据库·sql·oracle
电商API&Tina42 分钟前
乐天平台 (Rakuten) 数据采集指南
大数据·开发语言·数据库·oracle·json
千寻技术帮1 小时前
10334_基于Web的文学书刊服务平台
mysql·ssm·源码·代码·文学书刊
l1t1 小时前
用SQL执行累计值汇总的几种方法
数据库·sql·postgresql·duckdb
踢足球09291 小时前
寒假打卡:2026-2-3
数据库
每次学一点1 小时前
【ZeroTier自研之路】planet的组成
服务器·网络·数据库
策知道2 小时前
2026年北京政府工作报告产业指标深度解析
大数据·数据库·人工智能·搜索引擎·政务
Traced back2 小时前
# C# WinForms 数据库清理系统基础知识与避坑指南
开发语言·数据库·c#
云边有个稻草人2 小时前
金仓 VS MongoDB:国产数据库凭什么成为MongoDB平替首选?
数据库·mongodb·国产数据库·金仓·kingbasees sql