题解 | 插入记录(一)insert过程中defult和null有什么区别

插入记录(一)

https://www.nowcoder.com/practice/5d2a42bfaa134479afb9fffd9eee970c

insert into exam_record(uid,exam_id,start_time,submit_time,score)
values (1001,9001,'2021-09-01 22:11:12','2021-09-01 23:01:12',90),
(1002,9002,'2021-09-04 07:01:02',null,null);	--注意引号

在 SQL 的 INSERT 操作中,DEFAULT 和 NULL 是用于处理字段值的两种不同方式,主要区别如下:

1. DEFAULT(默认值)

  • 含义:如果字段在表结构中定义了 DEFAULT(默认值),使用 DEFAULT 会让该字段自动填入预先设定的默认值。
  • 场景:当你希望字段使用表设计时指定的默认值,而非手动输入值时使用。
  • 示例:假设表 exam_record 中 score 字段的 DEFAULT 是 0,则插入时可写:sql此时 score 会自动填入 0

2. NULL(空值)

  • 含义NULL 表示 “无值” 或 “未知值”,是一个特殊的标记,与空字符串('')不同。只有当字段的 NULL 属性为 YES 时,才能插入 NULL
  • 场景:当你明确表示该字段没有值,且表结构允许为 NULL 时使用。
  • 示例:若 submit_time 允许为 NULL,插入时可写:sql此时 submit_time 为 “无值” 状态。

核心区别总结

含义

使用字段预设的默认值

表示字段 “无值” 或 “未知值”

依赖条件

表结构中需定义DEFAULT

表结构中NULL属性需为YES

存储意义

有明确的默认值(如0'未知'

无具体值,仅标记 “缺失”

简单来说:DEFAULT 是用预设的默认值填充字段NULL 是明确表示字段没有值(前提是字段允许为 NULL)。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务