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

唯一键

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

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

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

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

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

相关推荐
ConardLi4 分钟前
MCP + 数据库,一种比 RAG 检索效果更好的新方式!
javascript·数据库·人工智能
遇见火星7 分钟前
日常真实工作环境,Mysql常用操作命令,笔记!
android·mysql·adb·常用命令·mysql日志
纪元A梦8 分钟前
Redis最佳实践——用户会话管理详解
数据库·redis·缓存
多云的夏天15 分钟前
麒麟-QT-ODBC-达梦
linux·数据库·麒麟
京东云开发者19 分钟前
ClickHouse 的“独孤九剑”:极速查询的终极秘籍
数据库
码熔burning29 分钟前
Redis 线程模型:单线程也能快如闪电?
数据库·redis·缓存
不断前进的皮卡丘1 小时前
06-公寓租赁项目-后台管理-公寓管理篇
java·开发语言·数据库·spring boot
luoluoal1 小时前
Java项目之基于ssm的个性化旅游攻略定制系统(源码+文档)
java·mysql·mybatis·ssm·源码
天狼12222 小时前
java 正则表达式优化
java·mysql·正则表达式
阿达C2 小时前
深入解析 Python 正则表达式:全面指南与实战示例
python·mysql·正则表达式