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

说一下数据库中的NULL

更多面试题请看这里:https://interview.raoyunsoft.com/
NULL 表示一个未知或缺失的值,它既不是空字符串 '' 也不是数字 0。在 MySQL 中需要特别注意以下几点:

核心特性

  1. 比较陷阱
    任何与 NULL 的比较操作都会返回 NULL(表示未知结果):

    SELECT NULL = 1;    -- 返回 NULL
    SELECT NULL = NULL; -- 返回 NULL(不是 TRUE!)
    
  2. 正确判断方式
    必须使用 IS NULLIS NOT NULL 进行判断:

    SELECT * FROM users WHERE phone IS NULL; -- 正确
    
  3. 与空字符串的区别

    特性NULL空字符串 ''
    数据类型未知状态明确字符串
    长度长度=0
    聚合函数忽略

使用注意事项

  • 索引影响
    InnoDB 中唯一索引允许存在多个 NULL 值(因为 NULL 不等于任何值,包括自身)
  • 计算陷阱
    包含 NULL 的运算结果通常为 NULL:
    SELECT 10 + NULL; -- 返回 NULL
    
  • 聚合函数行为
    COUNT(column) 会忽略 NULL 值,而 COUNT(*) 会统计所有行

实际场景示例

假设用户表包含允许 NULL 的电话字段:

CREATE TABLE users (id INT PRIMARY KEY,name VARCHAR(50) NOT NULL,phone VARCHAR(20) NULL -- 允许 NULL
);-- 插入数据
INSERT INTO users VALUES 
(1, 'Alice', '13800138000'),
(2, 'Bob', NULL); -- 未知电话号码

查询未填写电话的用户时:

-- ✅ 正确方式
SELECT name FROM users WHERE phone IS NULL; -- 返回 Bob-- ❌ 错误方式
SELECT name FROM users WHERE phone = NULL; -- 无结果返回!
http://www.dtcms.com/a/479312.html

相关文章:

  • 游戏怎么做充值网站网站开发好后要做什么
  • 基于PostGIS的相邻图形方位计算,东南西北相邻计算
  • FPGA强化-串口RS485
  • 2025深圳国际传感器技术与应用展览会效果如何,有啥亮点?
  • 房产交易网站建设策划案微信网站开发技术
  • 网站域名续费怎么做网站 配色方案
  • LSTM自然语言处理情感分析项目(三)定义模型结构与模型训练评估测试
  • STM32MP1开发流程
  • 利用小偷程序做网站中国工程建设交易信息网站
  • 上海做网站公司qinmoo企业网站推广可以选择哪些方法
  • 怎么配置网站服务器网站联盟名词解释
  • 做网站需要学啥中国网站用Cn域名
  • 企业网站优化推广方法个人性质的网站
  • 美食网站建设宠物网站项目
  • 青岛做网站服务商活动网页怎么做
  • Rokid YodaOS-Master 空间渲染技术深度解析:双目立体显示与光照模拟的实现逻辑
  • ups国际快递网站建设小说网站的网编具体做哪些工作
  • 英孚教育Write Spark青少儿创新写作征集活动正式启动
  • 润商网站建设服务抖音带运营3种合作方式
  • GESP等级认证C++三级17-位运算5-2
  • 济南做网站的公司成都市建设二维码检测网站
  • 基于MATLAB的FY-3B MWRI数据处理
  • 2025年优化算法:多策略改进蛇优化算法( Improved Snake Optimizer,ISO)
  • 苹果软件混淆与 iOS 应用加固白皮书,IPA 文件加密、反编译防护与无源码混淆方案全解析
  • wordpress 建网站视频深圳网络推广
  • 做购物网站支付需要怎么做关于建筑工程的网站
  • 网站做多长时间才会逐渐成功网站定制开发一般多久
  • AgentLightning框架(1)
  • python-调整图层
  • 盐城手机网站制作昆明个人网站建设平台