MySQL的基础操作——约束(上)——期末快速复习

文章目录

一、约束的基本概念


1.非空约束

如果在创建表的时候在创建字段的时候在后面加 not null,那就是在插入数据的时候这个字段不能省略,这个myclass中,如果insert into myclass (class_room)values ('一班');会报错
2.default默认值约束

如果后面带了default ,插入数据不带上这个字段名的话就会默认是你给的那个值。
注意:如果非空约束和default一般不一起写,因为你不写default,mysqld会自动在你的表结构加上,一般是default NULL,但不是真正意义的default,就是用来站位的,因为你加了not nulll约束的话,不显示写字段名的话也会报错,错误详细是没有默认值default,所以最终的结论是如果不能为空的字段就应该在插入的时候显式地写出来,而且我们一般都会默认全表插入。
3.zerofill

就是你是int类型的字段,你如果显示在创表时的命令如上图,就会显示在创表时mysqld做优化后实际的SQL语句,你会发现是int(10),如果在字段创建时加了zerofill时你插入的数据比如a插入1,它显示就会是0000000001,表示的意思就是1,只是他显示的长度为int后面的长度,当然你也可以显示给值,int(4)等多少就行,如果大于你给的长度那就正常显示数据,如果小于,就会在前面补零。
4.主键约束

简单来讲就是在字段后面加了这个的话,插入多个数据时,这个字段的数据就不能重复,重复会报错,一个表只有能有一个主键但可以是多个字段有主键约束,在后面创建表时最后这样写 primary key('字段名','字段名');

建议去自己去敲一下SQL命令,实践能更好记住

相关推荐
小红卒18 小时前
mysql之udf提权
数据库·mysql·网络安全
Trouvaille ~18 小时前
【Redis篇】Redis 哨兵(Sentinel):高可用自动故障转移
数据库·redis·缓存·中间件·sentinel·高可用·哨兵
qfljg18 小时前
oracle 迁移到postgres
数据库·oracle
giaz14n9X19 小时前
Redis 分布式锁进阶第五十七篇
数据库·redis·分布式
剑神一笑19 小时前
Linux ls 命令深度解析:从目录遍历到颜色输出的实现原理
linux·服务器·数据库
Maynor99620 小时前
Codex API 网关迁移与流量优化实战
数据库·oracle
WyCAGy8ij20 小时前
Redis 分布式锁进阶第二篇讲解
数据库·redis·分布式
南极企鹅20 小时前
MySQL的两大支柱:undo Log&redo log
数据库·mysql·oracle
智航GIS20 小时前
ArcGIS大师之路500技---078文件数据库的加密与解密
数据库·arcgis
音乐宝贝家21 小时前
吉他面板材质怎么选?云杉单板面单吉他配置深度解析
数据库·新媒体运营·产品运营·媒体·材质·内容运营