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

唯一键

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

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

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

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

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

相关推荐
lhbweilai12 分钟前
QT(了解各个控件和布局)上
数据库·qt
莫晓燚33 分钟前
搭建Redis 主从复制---实战
数据库·redis·缓存
灵晔君1 小时前
【MySQL】数据库基础
数据库·mysql·adb
香蕉大香蕉(06敬畏市场)1 小时前
MySQL 单点详解(03)
java·数据库·mysql·面试·八股·大厂实习
赤生云电竞1 小时前
云游戏边缘节点部署:机房选址与网络拓扑优化实践——接入延迟、VXLAN与GPU虚拟化选型
数据库·游戏
Y002 小时前
PostgreSQL 权限管理踩坑记:从 42501 到默认权限和 RLS
数据库·postgresql
呆萌很3 小时前
达梦(DM8)数据库常用SQL
数据库·sql
跟太阳说早安3 小时前
极简数据库SQL
数据库·sql
前端 贾公子3 小时前
第 5 章:Codex 从可运行程序到可交付工具
java·前端·数据库
杨云龙UP3 小时前
MySQL 主从复制管理:暂停、恢复、清理主从关系及命令执行位置
运维·数据库·mysql·主从配置·主从命令·reset replica·清除复制