7、MySQL默认值(DEFAULT)

2023-11-19

默认值(Default)的完整称呼是“默认值约束(Default Constraint)”,用来指定某列的默认值。在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值。

例如,员工信息表中,部门位置在北京的较多,那么部门位置就可以默认为“北京”,系统就会自动为这个字段赋值为“北京”。

默认值约束通常用在已经设置了非空约束的列,这样能够防止数据表在录入数据时出现错误。

在创建表时设置默认值约束

创建表时可以使用 DEFAULT 关键字设置默认值约束,具体的语法格式如下:

<字段名> <数据类型> DEFAULT <默认值>;

其中,“默认值”为该字段设置的默认值,如果是字符类型的,要用单引号括起来。

例 1
创建数据表 tb_dept3,指定部门位置默认为 Beijing,SQL 语句和运行结果如下所示。

mysql> CREATE TABLE tb_dept3
    -> (
    -> id INT(11) PRIMARY KEY,
    -> name VARCHAR(22),
    -> location VARCHAR(50) DEFAULT 'Beijing'
    -> );
mysql> DESC tb_dept3;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | NO   | PRI | NULL    |       |
| name     | varchar(22) | YES  |     | NULL    |       |
| location | varchar(50) | YES  |     | Beijing |       |
+----------+-------------+------+-----+---------+-------+

以上语句执行成功之后,表 tb_dept3 上的字段 location 拥有了一个默认值 Beijing,新插入的记录如果没有指定部门位置,则默认都为 Beijing。

注意:在创建表时为列添加默认值,可以一次为多个列添加默认值,需要注意不同列的数据类型。

在修改表时添加默认值约束

修改表时添加默认值约束的语法格式如下:

ALTER TABLE <数据表名>
CHANGE COLUMN <字段名> <字段名> <数据类型> DEFAULT <默认值>;

例 2
修改数据表 tb_dept3,将部门位置的默认值修改为 Shanghai,SQL 语句和运行结果如下所示。

mysql> ALTER TABLE tb_dept3
    -> CHANGE COLUMN location
    -> location VARCHAR(50) DEFAULT 'Shanghai';
mysql> DESC tb_dept3;
+----------+-------------+------+-----+----------+-------+
| Field    | Type        | Null | Key | Default  | Extra |
+----------+-------------+------+-----+----------+-------+
| id       | int(11)     | NO   | PRI | NULL     |       |
| name     | varchar(22) | YES  |     | NULL     |       |
| location | varchar(50) | YES  |     | Shanghai |       |
+----------+-------------+------+-----+----------+-------+

删除默认值约束

当一个表中的列不需要设置默认值时,就需要从表中将其删除。

修改表时删除默认值约束的语法格式如下:

ALTER TABLE <数据表名>
CHANGE COLUMN <字段名> <字段名> <数据类型> DEFAULT NULL;

例 3
修改数据表 tb_dept3,将部门位置的默认值约束删除,SQL 语句和运行结果如下所示。

mysql> ALTER TABLE tb_dept3
    -> CHANGE COLUMN location
    -> location VARCHAR(50) DEFAULT NULL;
mysql> DESC tb_dept3;
+----------+-------------+------+-----+----------+-------+
| Field    | Type        | Null | Key | Default  | Extra |
+----------+-------------+------+-----+----------+-------+
| id       | int(11)     | NO   | PRI | NULL     |       |
| name     | varchar(22) | YES  |     | NULL     |       |
| location | varchar(50) | YES  |     | NULL     |       |
+----------+-------------+------+-----+----------+-------+
3 rows in set (0.00 sec)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

7、MySQL默认值(DEFAULT) 的相关文章

  • PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯

    PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯 PPI协议详解 ppi通讯协议 ppi通信协议 vb与ppi协议通讯 我们提供 PPI协议的官方文档 协议更新时间为2005年 下面是我们根据文档解析的PPI读取变量返回
  • SQLi LABS Less-7 布尔盲注

    作者主页 士别三日wyx 作者简介 CSDN top200 阿里云博客专家 华为云享专家 网络安全领域优质创作者 第七关是单引号 双括号的字符型注入 推荐使用布尔盲注 方式一 布尔盲注 第一步 判断注入点 第二步 判断长度 第三步 枚举字符
  • redis篇

    一 数据库分类 1 关系型数据库SQL Oracle 不开源收费 高帅富 SQL Server 不开源收费 微软自家的产品 DB2 不开源收费 IBM 的产品 Sybase 不开源收费 微软的小基友 关系破裂后家境惨淡 MySQL 大家都在
  • 数仓相关知识点/笔记(OLTP和OLAP)

    现在实时数仓是一个非常火的趋势 最近开始逐渐了解一些数仓相关的东西 从基础的理论知识包括架构 算一个基础总结和学习记录吧 包括OLTP和OLAP 基础表和数据湖相关概念 不定期补充更新 联机事务处理OLTP和联机分析处理OLAP 关键词 日
  • 以太坊构建DApps系列教程(一):应用程序规则和区块链设置

    这将是一个如何使用以太坊区块链构建去中心化应用程序DApps的系列教程 第一篇教程重点介绍应用程序的规则和功能以及设置私有区块链 展示在使用或不使用DAO和应用程序的情况下如何构建自己自定义的以太坊代币 我们要构建3件事 自定义代币 使用代
  • maven如何引入第三方本地jar到项目,并打包部署?这篇文章给你答案

    应用场景 我对接农行的接口中 农行提供了一个openbank sdk java 1 3 1 jar 下载后令人头疼的事情就是怎么把这个jar引入到项目中呢 问题解决 maven如何将下载好的第三方库jar引入到项目中呢 1 在项目中创建一个
  • 408还是自主命题?计算机考研应该怎么选

    计算机考研一共考4科 政治 英语 数学 和专业课 专业课有两类选择 联考408和自主命题 联考408 408是教育部命题 不同的学校考试科目只要是408 就是相同的题目 历年真题在网络上都是公开的 公众号回复408即可获取408真题 学校也
  • 用Sublime写html,如何配置代码自动补全功能

    Sublime安装完成后 language设置中文 步骤一 下载汉化包 就是下图这个点击下载 步骤二 打开Sublime界面 点击菜单栏 gt preferences gt Browse Packages 点击后打开了一个文件夹 返回上一层
  • 2023年上半年BSP工程师年度总结报告

    尊敬的领导和团队成员 大家好 我是BSP工程师XXX 在这里向大家汇报2023年上半年的工作总结 在过去的半年里 我所负责的BSP工程师职责是支持和维护嵌入式系统的硬件和软件平台 我与团队密切合作 共同努力以确保我们的产品能够在各种嵌入式设
  • 怎样选择好的数字货币来进行投资?

    对区块链行业来说 2018年可以说是非常萧条的一年 因为许多投资者目睹并经历了非理性繁荣和泡沫破裂 对于普通投资者来说 投资数字现金通常面临两种风险 一是数字现金本身是否存在投机风险 二是数字现金交易平台存在的相关风险没有监管 数字货币自身
  • 碧蓝航线8.20服务器维护,碧蓝航线半人马来袭 8.20更新公告

    半人马来袭 碧蓝航线将于8月20日9 00 11 00对安卓 iOS全港区进行为期2小时的改造建设 维护后将开启限时活动 盛夏的半人马座 一起来看看吧 一 内容新增 1 开启限时活动 盛夏的半人马座 活动时间8月20日维护后 8月30日 完
  • List的size为1,没有内容,解决:stream过滤空值

    List
  • 精选

    作者 Joseph Rickert 翻译 黄小伟 先后从事游戏 社交及金融数据研究及应用 目前就职杭州有赞 9月份 共有126个R新包收录于CRAN 8月份收录R新包160个 增幅连续下降 当然 这是R包经历过数量上快速增长后的正常变化 本
  • pyg与graphgym

    一 配置问题 我用的显卡是ti3090 为驱动算力 cuda用11 0 软件环境是torch1 8 0 此时注意 graphgym需要安装版本为0 3 0 否则会由于版本过高 导致各种出错 如果要使用pyg 那么会容易遇到一个报错 File
  • Android usb通信 实现app与arduino通信demo

    Android usb通信 一 前言 二 开始 1 AndroidManifest xml清单文件 2 创建权限广播接收者 3 枚举usb设备 4 获取usb接口以及输入 输出端点 5 打开设备 6 设置波特率 7 创建接收数据的线程 8
  • 微信小程序如何将表单的数据发送到数据库,云开发,并实现将数据渲染到页面中

    一 表单数据发送到数据库 1 利用bindsubmit来写一个函数
  • 漏洞常规专业术语

    基础漏洞条例 VUL Vulnerability 漏洞 POC Proof of Concept 漏洞证明 漏洞报告中 通过一段描述或一个样例来证明漏洞确实存在 EXP Exploit 漏洞利用 某个漏洞存在EXP 意思就是该漏洞存在公开的
  • ubuntu 硬盘操作

    查看移动硬盘的文件系统名 以及空间使用情况 df hl 查看硬盘的格式类型 以及挂载位置 df T 挂载硬盘 fdisk l 查看磁盘信息 mount o rw dev sdb1 home test 挂载硬盘 o 指定挂载文件系统时的选项
  • 单选框互斥且可同时取消选中

    单选框互斥且可同时取消选中 div class b div

随机推荐

  • 你值得拥有——流星雨下的告白(Python实现)

    目录 1 前言 2 霍金说移民外太空 3 浪漫的流星雨展示 4 Python代码 1 前言 我们先给个小故事 提一下大家兴趣 然后我给出论据 得出结论 最后再浪漫的流星雨表白代码奉上 还有我自创的一首诗 开始啦 2 霍金说移民外太空 霍金说
  • 最新版FreeRTOS的移植------STM32F103c8t6

    系列文章目录 用FlyMcu和USB转TTL给stm32中烧录程序 stm32C8 C6 文章目录 系列文章目录 前言 一 先决条件 二 使用步骤 1 获取FreeRTOS源码 2 将freeRTOS相关文件移植进keil工程 3 修改相关
  • 如何在ubuntu上安装gcc

    首先查一下 有没有gcc 如下 然后准备安装gcc 1 sudo是授权 apt是一个应用管理工具 apt是本地存了一份软件包信息的列表 包括依赖 大小 vesion等 目的是为了在安装软件的时候快速检测依赖 并自动安装相关依赖 但在安装之前
  • 数据库原理及应用(MySQL版)MySQL实验指导参考答案(实验一到实验八)

    点赞 收藏 慢慢看 lt 一 gt 实验一 CREATE DATABASE STUDENTSDB USE STUDENTSDB CREATE TABLE STUDENT INFO 学号 CHAR 4 NOT NULL PRIMARY KEY
  • 百度文库免费复制word文档的纯文字

    2022年5月11日测试过 以下方法能正常使用 1 在页面中安F12或者从浏览器的设置中找到开发人员工具 2 切换到控制台 然后点击右上角图标进入更多设置 3 在设置 首选项中 找到 调试程序 然后勾选 禁用javascript 4 做完上
  • 微信支付的收款功能被限制了怎么办,收款受限制怎么解除?

    使用小程序做电商 商城的微信支付的收款功能会遇到被限制的情况 直接影响用户下单后的付款操作 其实也不单单是小程序 商城APP中也会冒出类似的提示 遇到这种事情不要慌 根据具体的异常提示给出不同的解决方案 微信支付被限制的错误提示 我们列举两
  • 浅析数据库连接池(二)

    上一篇博客 主要是简单的介绍了普通数据库连接的过程以及耗费的资源 并且简单的谈了下连接池 这篇我们主要来看看数据库连接池的使用以及它最优的配置 总目录 1 数据库连接过程是怎样的 2 连接所占用的资源有哪些 3 连接池简介 4 连接池的使用
  • 用python画星空源代码

    from turtle import from random import random randint screen Screen width height 800 600 screen setup width height screen
  • 每天都在谈SOA和微服务,但你真的理解什么是服务吗?

    近几年来 我一直从事着和面向服务相关的底层软件研发工作 逐渐的形成了一些自己的看法 其中我觉得比较重要的看法就是服务需要一个更准确细致的定义 简单来说 服务的本质就是行为 业务活动 的抽象 为了更好的阐述新服务的概念 并方便与传统的SOA中
  • 【c语言】Hanoi塔问题

    一块板上有三根针 A B C A 针上套有 64 个大小不等的圆盘 大的在下 小的在上 如图 5 4 所示 要把这 64 个圆盘从 A 针移动 C 针上 每次只能移动一个圆盘 移动可以借 助 B 针进行 但在任何时候 任何针上的圆盘都必须保
  • 本周总结——勇敢尝试和体验

    人间烟火 生活趣事 快开学了 这一周都在写项目 键盘前一段时间坏掉了 当时买了保险 3年之内只换不修的 挺奇葩的 寄过去13天都没搭理我 也没说给换货 前几天忍不住打电话问了问 下午就发货了 昨天下午就领到了 看来有些东西还是需要主动问一问
  • 搞懂后序遍历!只需要这一篇

    讲讲对于后序遍历的理解 并通过题目加深理解 文章目录 核心 基础实现方式 104 二叉树的最大深度 111 二叉树的最小深度 222 完全二叉树的节点个数 110 平衡二叉树 101 对称二叉树 总结 核心 后序遍历的顺序为左右中 在一棵二
  • 在Ubuntu上安装Android-SDK的方法

    一 安装和配置Ubuntu系统 1 安装Ubuntu Desktop 14 04 x86 64 2 启用root账户 Ubuntu 14 04默认是不允许root账户登录的 在登录窗口只能看到普通用户和访客登录 在shell中运行以下命令即
  • 优化游标性能

    最好的改进光标性能的技术就是 能避免时就避免使用游标 摘自 Transact SQL权威指南 Ken Henderson 著 最好的改进光标性能的技术就是 能避免时就避免使用游标 SQL Server是关系数据库 其处理数据集比处理单行好得
  • ROS学习笔记(7):Navigation 导航

    目录 8 Navigation 8 1 Navigation工作框架 8 2 move base 8 3 Costmap 8 4 map server 8 5 AMCL 定位 8 Navigation Navigation是机器人最基本的功
  • 小程序显示富文本内容(wxparse)

    1 引入wxParse 下载地址https github com icindy wxParse 2 全局配置 3 获取富文本内容的js 加入如下内容
  • 在电力系统无功不足的情况下,为什么不宜采用调整变压器分头的办法来提高电压?

    在电力系统无功不足的情况下 为什么不宜采用调整变压器分头的办法来提高电压 答 当某一地区的电压由于变压器分头的改变而升高的时候 该地区所需的无功功率也增大了 这就可能扩大系统的无功缺额 从而导致整个系统的电压水平更加下降 从全局来看 这样做
  • Redis VS Memcached压力测试报告

    一 测试背景与目标 了解Redis和memcached在高并发条件下的响应时间 吞吐量情况 以及对于服务器的压力情况 包括CPU IO 网络 考察目前的memcached存储timeline的方式的在高并发条件下的响应时间 吞吐量 负载情况
  • flink大数据处理流式计算详解

    flink大数据处理 文章目录 flink大数据处理 二 WebUI可视化界面 测试用 三 Flink部署 3 1 JobManager 3 2 TaskManager 3 3 并行度的调整配置 3 4 区分 TaskSolt和parall
  • 7、MySQL默认值(DEFAULT)

    默认值 Default 的完整称呼是 默认值约束 Default Constraint 用来指定某列的默认值 在表中插入一条新记录时 如果没有为某个字段赋值 系统就会自动为这个字段插入默认值 例如 员工信息表中 部门位置在北京的较多 那么部