广告
返回顶部
首页 > 资讯 > 数据库 >MySQL如何修改字段的默认值和空值
  • 213
分享到

MySQL如何修改字段的默认值和空值

2024-04-02 19:04:59 213人浏览 薄情痞子
摘要

目录Mysql修改字段的默认值和空值修改字段默认值修改字段值是否为空mysql默认值NULL、空值、Empty String的区别如何选择?先说结论区别Mysql修改字段的默认值和空值 修改字段默认值 修改: ALTER

Mysql修改字段的默认值和空值

修改字段默认值

  • 修改:
ALTER TABLE 表名 ALTER COLUMN 字段名 SET DEFAULT 默认值
  • 删除:
ALTER TABLE 表名 ALTER COLUMN 字段名 DROP DEFAULT

修改字段值是否为空

  • 设为空:
ALTER TABLE 表名 MODIFY 字段名 字段类型 NULL
  • 设为非空:
ALTER TABLE 表名 MODIFY 字段名 字段类型 NOT NULL

MySQL默认值NULL、空值、Empty String的区别

如何选择?

工作一年左右了,发现其实工作中除了需要实现业务代码外,更多的是与数据库打交道。最近因为项目需要,我也逐渐参与进入数据库的设计,从而发现了很多之前没有过多注意的问题。

回想这一年来,写博客的次数屈指可数,现在想重新拾起,所以打算从数据库方面入手,先总结一个比较简单但非常常用的知识点——mysql中字段默认值的问题。

MySQL如何修改字段的默认值和空值

我们可以看到,默认值的设置主要分为三种:

  • 1.空值,空白,即什么都不填,等同于NULL(设计表结构时保存空值会自动变成NULL),当然也可以手动输入默认值。
  • 2.NULL。
  • 3.Empty String,空字符串,可以理解为0字节长度的字符串,等同于单引号''和双引号""。

其中,空值 = NULL,Empty String = 空字符串 = '' = ""。

那么问题来了,当设定某一个字段的默认值的时候,是设定空值、NULL还是Empty String呢?

先说结论

建议不要使用NULL或空值,String类型的字段可以设置默认为Empty String(即空字符串''),Int类型的字段可以设置默认为0。

尤其是使用php做接口开发时,设置字段类型为not null可以避免产生很多问题,如果查询出null数据直接返回给android或IOS,而移动端又没有进行处理的话,程序就会报错。所以为了避免这种情况,一定要在服务端数据库层面从根源上解决这个问题。

因为空值 = NULL,所以谈论区别时只比较NULL和空字符''串即可。

区别

1、NULL是占用磁盘空间的(并不是数据本身占用空间,而是存储它是否为NULL的标记占用1个字节),而空字符串''是不占用磁盘空间的(它的长度是0字节所以不占用)。

网上找到的相关资料显示NULL是占用磁盘空间的

官方文档说明:NULL columns require additional space in the row to record whether their values are NULL. For MyISAM tables, each NULL column takes one bit extra, rounded up to the nearest byte.

翻译:NULL列需要行中的额外空间来记录它们的值是否为NULL。

即:定义字段类型时,如果允许为NULL,那么就要为每条数据多分配一个字节的空间来表示字段是否为NULL。

直接在mysql中验证即可:

MySQL如何修改字段的默认值和空值

2、字段类型是varchar时可以默认为空字符串,字段类型是int时不可以默认为空字符串,可以设置为0。

3、当字段被设置为not null时,字段就不能是NULL但可以插入空字符串,但空字符串只能插入到字符串类型的字段中,插入其他类型的字段中会报错。而NULL可插入到任何允许为NULL的字段中。

4、SQL语句中对空字符串进行判断时可以使用=、>、<符号;但是对NULL进行判断时必须使用is null或is not null。

5、包含NULL的字段列,如果在查询条件中使用is not null会导致索引失效,但是使用is null索引不会失效。

6、使用count()函数进行统计时,会过滤掉NULL值,但不会过滤掉空字符串。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL如何修改字段的默认值和空值

本文链接: https://www.lsjlt.com/news/33909.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL如何修改字段的默认值和空值
    目录mysql修改字段的默认值和空值修改字段默认值修改字段值是否为空MySQL默认值NULL、空值、Empty String的区别如何选择?先说结论区别MySQL修改字段的默认值和空值 修改字段默认值 修改: ALTER...
    99+
    2022-08-29
  • MYSQL---字段的默认值
    一、背景         问题的原因也是十分简单,在csdn上随便百度就可以找到解决问题的方法,但为什么还要写这篇文章呢?因为在去尝试的时候自己遇到了一些有趣的问题,并且从中也学到了有意思的知识。        报错: java.sql.S...
    99+
    2023-09-30
    mysql 数据库
  • 怎么修改数据库字段的默认值
    要修改数据库字段的默认值,可以使用ALTER TABLE语句。下面是一个示例: ALTER TABLE table_name ALT...
    99+
    2023-10-28
    数据库
  • 如何设置MySQL的字段默认值
    本篇文章给大家分享的是有关如何设置MySQL的字段默认值,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 1.默认值相关操作我们可以用 DEFAULT 关键字来定义默认...
    99+
    2023-06-06
  • MySQL 字段默认值该如何设置
    前言:  在 MySQL 中,我们可以为表字段设置默认值,在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值。关于默认值,有些知识还是需要了解的,本篇文章我们一起来学习下字段默...
    99+
    2022-05-17
    MySQL 字段 MySQL 字段默认值 MySQL 字段默认值设置
  • mysql如何修改字段的值
    本篇内容主要讲解“mysql如何修改字段的值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql如何修改字段的值”吧! 在mys...
    99+
    2022-10-19
  • MySQL中如何为字段设置默认值?
    在MySQL中,我们可以为表的字段设置默认值,以确保在插入新记录时,如果没有为该字段指定值,将使用默认值。这在许多情况下都非常有用,特别是当我们希望在插入数据时自动填充某些字段,或者当我们想要为字段提...
    99+
    2023-10-23
    mysql 数据库
  • mysql中的默认值怎么修改
    要修改MySQL中的默认值,可以使用ALTER TABLE语句。以下是一个示例:```ALTER TABLE table_name ...
    99+
    2023-09-05
    mysql
  • mysql字段默认值如何设置比较好
    设置MySQL字段的默认值要根据具体的业务需求和数据类型来决定。以下是设置MySQL字段默认值的几个常见做法: 对于数值型字段,...
    99+
    2023-10-23
    mysql
  • access如何设置字段的默认值
    在Access中,可以通过设置字段的默认值来指定该字段在每次插入新记录时的默认值。以下是在Access中设置字段的默认值的步骤:1....
    99+
    2023-10-11
    access
  • mysql设置某字段默认值的方法
    这篇文章将为大家详细讲解有关mysql设置某字段默认值的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql设置某字段默认值的方法:1、加字段和设置默认值;2、通...
    99+
    2022-10-18
  • mysql如何修改字段值唯一
    这篇文章主要介绍“mysql如何修改字段值唯一”,在日常操作中,相信很多人在mysql如何修改字段值唯一问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql如何修改字段值...
    99+
    2022-10-19
  • 修改mysql中列默认值的方法
    小编给大家分享一下修改mysql中列默认值的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!修改mysql中列的默认值的方法:...
    99+
    2022-10-18
  • 如何解决MySQL报错:字段没有默认值
    当MySQL报错提示字段没有默认值时,意味着您正在尝试插入一条数据时,其中某些字段没有被赋予初值。解决这个问题的方法有以下几种:1....
    99+
    2023-10-12
    MySQL
  • sql如何给字段添加默认值
    要给字段添加默认值,可以使用ALTER TABLE语句的ALTER COLUMN子句来修改表的结构。以下是一些常见的示例:1. 在创...
    99+
    2023-10-20
    sql
  • mysql中给字段设置默认值的方法
    mysql中给字段设置默认值的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!方法:1、创建表时用“CREATE TAB...
    99+
    2022-10-18
  • oracle如何修改字段值
    要修改Oracle数据库中的字段值,您可以使用UPDATE语句。以下是修改字段值的基本语法:```UPDATE table_name...
    99+
    2023-08-29
    oracle
  • mysql实现批量修改字段null值改为空字符串
    目录批量修改字段null值改为空字符串将某个字段修改为null(从不允许为空not null修改为null)批量修改字段null值改为空字符串 UPDATE 表名 SET 字段名 = ( CASE WHEN IFNU...
    99+
    2022-08-29
  • sql如何修改表的字段值
    要修改表的字段值,可以使用SQL语句的UPDATE命令。以下是一些示例:1. 修改单个字段值:```UPDATE 表名 SET 字段...
    99+
    2023-10-12
    sql
  • MySQL中varchar类型的字段默认值设置方式
    目录mysql varchar字段默认值设置Mysql Varchar 类型为什么默认设置 255Mysql5.6.xMysql5.7.x总结MySQL varchar字段默认值设置 最近开始给项目设计数据库,遇到一个可...
    99+
    2023-10-19
    MySQL varchar类型 MySQL字段默认值 varchar类型的字段默认值
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作