当前位置: 首页 > news >正文

MySQL:表的约束上

目的

为了保证数据的合法性,不单单对数据类型做约束,从业务逻辑角度也做约束,使得之后插入表的数据是符合预期的

空属性

有null和not null
数据库默认字段是空,但实际应用中尽量使字段不为空,防止无法运算

比如一间教室有班级的名字和教室的名字,我们在创建的时候给一个约束,这样在显示的时候,Null一栏就是NO,不允许为空
在这里插入图片描述
我们正常插入一组数据

在这里插入图片描述

在这里插入图片描述
插入空
在这里插入图片描述
不允许这么做

默认值

某些数据经常作为具体的值出现,可以给定默认值,作为需要数据时的备用

在这里插入图片描述

使用示例
在这里插入图片描述

null和default

  1. 在指明not null的前提下
    没指明要插入哪一列时,看default
    如果没设置default,就无法输入二者是相互补充的
  2. 没指明非空也没有给出default的时候
    是default null

二者是相互补充的

列描述

专门用于描述字段,无约束

在这里插入图片描述

zerofill

像是int(10) ,这个10有什么用,他是结合zerofill来看的

先创建一个表
在这里插入图片描述
给b增加zerofill

在这里插入图片描述

插入两组数据
在这里插入图片描述

可以看到b的输出自动补全到10位,
如果是int(5), 就会自动补全到5位

超出5位不做限制

注意,zerofill只是在显示的时候做了格式调整,实际存的数据还是1和2

小结

主键,唯一键,外键下文介绍

http://www.dtcms.com/a/365971.html

相关文章:

  • C# 代码中的“熵增”概念
  • 单片机:GPIO、按键、中断、定时器、蜂鸣器
  • 《单链表经典问题全解析:5 大核心题型(移除元素 / 反转 / 找中点 / 合并 / 回文判断)实现与详解》
  • 【面试题】词汇表大小如何选择?
  • PS大神级AI建模技巧!效率翻倍工作流,悄悄收藏!
  • 本地化AI问答:告别云端依赖,用ChromaDB + HuggingFace Transformers 搭建离线RAG检索系统
  • OpenCV的阈值处理
  • ChartView的基本介绍与使用
  • shell编程从0基础--进阶 1
  • 如何高效记单词之:抓住首字母——以find、fund、fond、font为例
  • Linux `epoll` 机制的入口——`epoll_create`函数
  • Java并发编程中的CountDownLatch与CompletableFuture:同步与异步的完美搭档
  • 驱动增长的双引擎:付费搜索与自然搜索的终极平衡策略
  • Loot模板系统
  • helm应该安装在哪些节点
  • ABAQUS多尺度纤维增强混凝土二维建模
  • 微信小程序-day3
  • 【mac】macOS上的实用Log用法
  • 使用Navicat去批量传输数据库的表结构
  • fastlio配置与过程中遇到的问题
  • 51单片机----LED与数码管模块
  • C 语言标准输入输出库:`stdio.h` 的使用详解
  • 【WPS】WPSPPT 快速抠背景
  • Python学习笔记--使用Django修改和删除数据
  • 52.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--解决客户端调用接口404问题
  • 硬件:51单片机的按键、中断、定时器、PWM及蜂鸣器
  • Spring Boot HTTP状态码详解
  • 性能测试-jmeter8-脚本录制
  • 揭秘23种设计模式的艺术与技巧
  • < 自用文 主机 USC 记录:> 发现正在被攻击 后的自救