默认值约束 [MySQL][数据库]

2023-10-27

默认值约束(DEFAULT)

默认值约束的作用:

给某个字段/某列指定默认值,一旦我们设置了默认值约束之后,在插入数据时,如果此字段没有显式赋值,则赋值为默认值

  • 如果我们没有给一个字段添加默认值约束,这个时候我们如果没给一个字段显式赋值,那么这个字段就会赋值为默认值null,但是我们添加了默认值约束之后我们设置的默认值是多少,那么我们没有显示赋值的时候赋的默认值就是多少

如何添加默认值约束

这里对于添加默认值约束我们也是分为了两种方式:

方式一: 在CREATE TABLE时添加默认值约束

CREATE TABLE test11(
id INT,
last_name VARCHAR(15),
salary DECIMAL(10,2) DEFAULT 2000
);
  • 这里我们就为test11表中的salary字段添加了一个默认值约束

那么我们添加了默认值约束之后有什么作用?

这里我们通过一个例子来说明:

INSERT INTO test11(id,last_name)
VALUES(1,'tom');
  • 这个时候我们在往数据库中添加数据的时候只给id字段和last_name字段赋值了,而没有给salary字段赋值,这个时候如果没有添加默认值约束,那么这个时候对于没有显式赋值的字段我们系统默认是赋值为null的 , 但是这个时候我们添加了默认值约束之后,这里我们对于没有显示赋值的情况我们就会赋默认值,也就是赋值为2000

方式二: 在ALTER TABLE时添加约束

  1. 我们先创建一个数据表
CREATE TABLE test12(
id INT,
last_name VARCHAR(15),
salary DECIMAL(10,2)
);
  • 这里我们就创建了一个test12表
  1. 然后这里我们在ALTER TABLE时添加约束
ALTER TABLE test12
MODIFY salary DECIMAL(10,2) DEFAULT 2500;

那么我们如何删除默认值约束?

我们在ALTER TABLE时删除默认值约束

ALTER TABLE test12
MODIFY salary DECIMAL(10,2);
  • 这里我们就是修改了这个字段,让着字段变成一个普通的字段即可
    • 我们可以发现我们对于添加和删除默认值约束的时候和我们添加和删除非空约束是几乎完全相同的

补充:

我们在建表时,如果不想让表中出现null值,如果是字符串类型的数据,我们就加上not null default ‘’,如果是数值型的数据我们加 default 0

  • 为什么不希望有null值?

    ①null值不好比较

    • 因为null是一种特殊值,比较时只能使用专门的is null 和is not null来比较,如果碰到一般的符号类型运算符,通常都是返回null

    ②效率不高

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

默认值约束 [MySQL][数据库] 的相关文章

随机推荐

  • 【新手向】如何在npm上发布属于自己的包

    课程内容来自黑马程序员的网课 供博主自己检索知识和复习用 当然如果能帮助到你就更好了 作为一个程序员 你一定下载过各式各样的包来自己的项目实现更多功能 但是如何自己发布包呢 建立属于自己的包 第一步 你需要建立一个包 建立包很简单 只要满足
  • 数据科学与大数据分析之项目2-聚类

    聚类 项目介绍 项目开始 项目介绍 文件TreeDB csv包含258个树种的描述 数据由XX市议会开放空间和环境服务部管理处提供 已提供数据集作为公共空间最佳树木选择合作项目的一部分 假设你是该项目团队的一员 进一步假设你决定参与聚类分析
  • java image 透明_Java 生成半透明照片

    在许多实际运用中 我们常常需要将一张照片 图片 装换成半透明后再显示或保存 下面我们就来看看如何使用Java来生成 转换一张照片到半透明 1 基本思路 1 打开一张图片 BufferedImage imageOpen ImageIO rea
  • php密码输入密码,php打开页面输入密码的代码

    直接复制以下代码到模板 文件或者PHP文件 当打开页面时就得输入密码 写模板内容页时候也可以试用 把密码部分当做变量对应后台写入即可 更多功能自己想象
  • ubuntu下 jupyter登录上了 新建python3连接失败

    近期在使用anaconda jupyter的时候发现自己在新建jupyter文件的时候一直报连接错误 所以为了解决此问题做了如下两种方法 第一步 pip uninstall tornado pip install tornado 5 1 1
  • (四)Vue和React的编码方式对比----样式处理及样式污染

    经过3篇文章后我们可以编写一些简单的HTML结构并渲染只页面 可是前端重要的是什么 是样式 前端是给用户看的 所以样式处理也是很重要的一件事 如果一个前端静态效果都写不好 那多丢人 所以本篇介绍一下React和Vue的样式处理方式 以及一个
  • JS —— js中的节流与防抖

    文章目录 前言 一 节流 1 什么是节流 2 做节流可解决什么问题 3 如何做节流 二 防抖 1 什么是防抖 2 做防抖可解决什么问题 3 如何做防抖 总结 前言 最近有同学问到节流与防抖的相关知识点 于是乎 四处查资料 找一找 看一看 终
  • vuepress项目部署出现样式丢失,图片加载失败的问题

    之前在尝试部署vuepress项目时 出现了样式丢失 图片加载失败的问题 具体情况请继续往下看 本地测试 完全正常 在本地测试时的样式都是正常显示的 GitHub部署 样式丢失 打包部署到GitHub上时 布局和样式就完全乱了 同时还有一堆
  • 10、docker 安装 tomcat

    一 docker 环境下安装中间件总体步骤 搜索镜像 拉取镜像 查看镜像 启动镜像 服务端口映射 但其实 docker run 的时候 就会帮我们去配置的 registry 拉取镜像了 也就是 搜索镜像 这一步 其实是可有可无的 二 安装
  • Form 表单内有多个元素的使用方式

    产品中常有的一个需求 输入框后面有描述文案或其他组件 我们可能这样写
  • Java进阶:用案例源码解析EventLoopGroup,面试真题解析

    一 前言 有句话 正因为你优秀 所以难以卓越 刚开始听这句话还在上学 既不卓越 也不优秀 甚至可能还有点笨 但突然从某次爬到班级的前几名后 开始喜欢上了这种感觉 原来前面的风景是如此灿烂 优秀和卓越差的不是一个等级 当你感觉自己优秀后 还能
  • 6-机器学习启蒙- 深度学习: 图像搜索

    6 深度学习 图像搜索 github https github com mtianyan graphLabStartedML 深度学习 图像搜索 基于图片的相似度来选购商品 可视化商品推荐 我想买双新鞋 但是 mark 符合我的风格 我又感
  • openssl 1.0.2d安装使用教程

    本文简要介绍CA和证书的基础知识 并演示openssl 1 0 2d的安装 CA证书生成 用户证书申请 使用CA签发用户证书等内容 另外 可以参考本人的其他文章如nginx教程 进行生成证书的验证 By 泪痕之木 实验环境 操作系统 Cen
  • 彻底解决小程序内嵌web-view缓存问题

    前言 项目是通过web view内嵌在小程序里的vue单页应用 然而前几天发现明明发布了代码 在小程序入口进去看到的还是旧页面 尝试了各种操作 手动退出小程序 再次进入 删除 发现 小程序 重新进入 关闭微信 杀掉进程 重新进入 修改 Ng
  • R语言【基本计数原理与技巧——阶乘、组合、排列】

    加法原理定义 做一件事有n种方法 第一类有 m 1 m 1 m1 种方法 第二类有 m 2 m 2
  • AM335X外部看门狗及LINUX系统驱动移植(二)

    看门狗定时器 WDT Watch Dog Timer 是嵌入式系统的的一个组成部分 它实际上是一个计数器 一般给看门狗设置复位时间间隔 程序开始运行后看门狗开始计数 如果程序运行正常 过一段时间CPU应发出指令让看门狗置零 重新开始计数 如
  • python打砖块游戏算法设计分析_Python打砖块

    在家闲来无事用Python写了一个打砖块游戏 目前完成度一般 先来段视频 声音有点大 演示https www zhihu com video 1235510400411369472 游戏主要分那么几个板块 小球Ball 挡板Paddle 砖
  • ECS突发性能T6服务器可以用来做哪些事情?

    能做的事情还是挺多的 一般比如个人建站 WordPress建站 小微企业建站 小程序搭建 web开发部署等各种项目基本都是可以的 不过这类入门的就不太时候大型项目了 比如大型电商网站 比如人工智能 机器学习等就不要用突发型实例了 一般的小网
  • 利用maven-war-plugin实现不同环境下的配置文件

    我这是一个标准的maven的目录结构 配置文件都在src main resources根目录下 因为要改成多环境的配置 所以只有properties的文件改变了 公共配置可以原地不动 1 将配置文件放到不同的文件夹下 2 创建2个不同的pr
  • 默认值约束 [MySQL][数据库]

    默认值约束 DEFAULT 默认值约束的作用 给某个字段 某列指定默认值 一旦我们设置了默认值约束之后 在插入数据时 如果此字段没有显式赋值 则赋值为默认值 如果我们没有给一个字段添加默认值约束 这个时候我们如果没给一个字段显式赋值 那么这