mysql默认值
发表于|更新于
|浏览量:
时穷节乃见,一一垂丹青。一一文天祥
如果我们在编写SQL时需要给一个默认值,例如查询或者编辑的时候,可以使用mysql函数IFNULL
例如这里我们表内有两条数据

然后我们编写SQL,如果我们用户名为null,我们默认填充一个unknown
1 | SELECT id,IFNULL(username,'unknown') username FROM `user` |

在编辑的时候也可以用
1 | UPDATE user set username = IFNULL(`username`,'achao') where id = 2 |
这里如果我们的username为null,就会被修改成achao,但如果已经有值了,则不会进行修改
相关推荐
2021-07-24
mysql中的dual
许多人都是由于本身软弱而做出问心有愧的事来的,并非都是蓄意背信弃义。——拉罗什富科 前两天看到项目中有这样一句SQL 1SELECT (SELECT username FROM `user_2018` WHERE id = 1) username,(SELECT `password` FROM `user_2019` WHERE id = 1) `password` FROM DUAL; 最后这里有一个FROM DUAL 我没有在数据库中找到DUAL表,它是一个关键字 但我们就算去掉FROM DUAL,也能成功执行 1SELECT (SELECT username FROM `user_2018` WHERE id = 1) username,(SELECT `password` FROM `user_2019` WHERE id = 1) `password`; 而且很多类似的例子 1234-- 查询当前时间SELECT NOW() FROM DUAL;-- 查询当前数据库版本号SELECT VERSION() FROM DUAL; 我们去掉后面的FROM DUAL,...
2024-04-22
Mysql的NULLIF
秉性难移。——冯梦龙 NULLIF函数是MySQL中的一个条件函数,用来返回两个表达式的比较结果。具体来说,如果两个表达式相等,NULLIF函数返回NULL;如果不相等,它就返回第一个表达式的值。其基本语法如下: 1NULLIF(expr1, expr2) 其中,expr1和expr2可以是任何类型的表达式,但它们应该是相同的数据类型或者可以隐式转换的类型。 在数学运算特别是除法运算中,除以零会导致错误。使用NULLIF可以有效避免这种错误。例如,我们要计算两个列A和B的比值,可以这样写: 12SELECT A, B, A / NULLIF(B, 0) AS resultFROM your_table; 这里,如果B为0,则NULLIF(B, 0)返回NULL,A / NULL也会返回NULL,从而避免了运行时错误。 在数据导入或处理过程中,我们可能会遇到一些特殊值需要转换为NULL以保持数据的一致性。例如,某些系统中使用-1表示数据缺失,我们可以使用NULLIF来转换这些值: 12SELECT NULLIF(column_name, -1)FROM your_table...
2026-02-27
ruvector
迁延蹉跎,来日无多,二十丽姝,请来吻我,衰草枯杨,青春易过。——莎士比亚 RuVector:不只是“向量数据库”,更像一套会自我学习的 Agentic AI 操作系统 仓库:ruvnet/ruvector描述(repo description):RuVector is a High Performance, Real-Time, Self-Learning, Vector Graph Neural Network, and Database built in Rust.许可证:MIT一句话 README(更贴近直觉的版本):“会自我学习、自我优化的向量数据库——内置图智能、本地 AI,以及 PostgreSQL。” 很多向量数据库都很强:存向量、建索引、做相似度检索、再配点过滤条件……你用得越久,它还是那套规则;你每次查询,它就每次“照章办事”。 RuVector 的野心不一样:它把“检索”当成一个会成长的过程——它会观察你的使用方式,让结果变得越来越好,并且把“向量、图、LLM、本地推理、PostgreSQL 集成、部署形态(甚至是单文件自启动容器)”尽量收敛到...
2022-02-10
mysql数据库信息函数
我将仇恨写在冰上,然后期待太阳的升起。——加西亚马尔克斯 打开mysql官方文档:Information Functions 可以看到mysql查询库表信息的函数 Name Description BENCHMARK() Repeatedly execute an expression CHARSET() Return the character set of the argument COERCIBILITY() Return the collation coercibility value of the string argument COLLATION() Return the collation of the string argument CONNECTION_ID() Return the connection ID (thread ID) for the connection CURRENT_ROLE() Return the current active roles CURRENT_USER(), CURRENT_USER...
2022-10-11
h2 count+orderBy踩坑
过度的爱情追求,必定会降低人本身的价值——培根 mysql里两个都可执行 h2执行第二条会报错 因此不要在h2写count时使用orderBy
2025-06-29
dble
好学近乎知,力行近乎仁,知耻近乎勇。一一《中庸》 https://github.com/actiontech/dble https://opensource.actionsky.com/ dble:高性能 MySQL 分库分表中间件,助力数据库水平扩展在互联网业务持续增长的今天,单台 MySQL 数据库的性能瓶颈和容量瓶颈愈发突出。面对数据量级和访问压力的持续提升,如何平滑实现 MySQL 的分库分表和在线扩展,成为众多企业技术团队亟需解决的问题。由上海爱可生信息技术股份有限公司开源和维护的 dble(发音为“double”,取意“更少 bug,没有 ou”),正是面向这一需求的专业级解决方案。 一、dble 简介dble 是一款专为 MySQL 设计的高可扩展性数据库中间件,其核心功能是实现 MySQL 的分库分表(Sharding)、高可用集群和复杂 SQL 的分布式优化。dble 诞生于实践一线,已在银行等关键场景大规模应用,并作为爱可生公司“云树分布式数据库软件(CTREE Shard)”的开源版本持续迭代。 二、核心特性1. 透明分库分表 支持在业务无感知的情况...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog