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命令,实践能更好记住

相关推荐
宠友信息2 小时前
MySQL复合索引与Druid优化仿小红书源码个人主页查询链路
数据库·spring boot·websocket·mysql·uni-app
minji...2 小时前
MySQL数据库 (十九) MySQL图像化界面,MySQL连接池
数据库·mysql·navicat·mysql workbench·mysql连接池·数据库图形化界面
文档搬运工2 小时前
Innodb Cluster安装
mysql
想躺平的小羊2 小时前
MySQL中LAST_DAY函数用法
数据库·mysql
光影6273 小时前
MySQL基础入门
数据库·笔记·sql·学习·mysql·学习方法
qetfw3 小时前
CentOS 7 搭建 MariaDB 数据库服务
linux·数据库·centos·mariadb
光影6273 小时前
MySQL 进阶篇 —— 事务 / 外键 / 索引 / 高级查询
数据库·笔记·sql·学习·mysql
爬也要爬着前进4 小时前
redis哨兵模式搭建
数据库·redis·bootstrap
小月土星4 小时前
(实战篇)RAG-demo 深度解析:162行代码中的检索增强生成全景 (含Top-k法)
javascript·数据库·llm
10岁的博客5 小时前
DevEco Code 的 Plan+Build 模式:审方案再执行的技术深度解析
大数据·数据库·人工智能