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

唯一键

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

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

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

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

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

相关推荐
倔强的石头_18 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
于眠牧北2 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12024 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐5 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端