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-11-30
mysql连接数满了怎么调大
人生应该如蜡烛一样,从顶燃到底,一直都是光明。——萧楚女 今天链接数据库发现提示too many connections 于是临时把mysql连接数调大了一点 查看参数sql: 1show variables; 设置连接数: 1set GLOBAL max_connections=99999;
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...
2022-02-06
INSERT ... ON DUPLICATE KEY UPDATE Statement
打开mysql文档,总会有新发现。——碧安瑶 我们在使用INSERT语句时,有时会有这样的需求,不存在就新增,存在就更新 此时我们可以使用INSERT ... ON DUPLICATE KEY UPDATE语句 就像mysql官方文档中提到的那样,我们如果将a列设为UNIQUE唯一索引或者主键时,并且当前表已经存在了a=1的数据,对于这种情况,下面两条sql的结果是相等的 当然如果不满足上方条件,则会新增一条数据 1234INSERT INTO t1 (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;UPDATE t1 SET c=c+1 WHERE a=1; 对于InnoDB引擎的表,此处的新增可能会触发自增列,但修改操作不会触发 如果上方的唯一索引再加一个b列,则上方第一条sql和下方sql结果相等 1UPDATE t1 SET c=c+1 WHERE a=1 OR b=2 LIMIT 1; 注意如果此处a=1 or b=2匹配多行,则只会更新一行,所以我们需要避免在有多个唯一索引的表上使用本语法 我们在表内没...
2021-01-27
Client does not support authentication protocol requested by server
宿命论是那些缺乏意志力的弱者的借口。——罗曼·罗兰 今天试了试使用js连接数据库,发现报错Client does not support authentication protocol requested by server; consider upgrading MySQL client 乍一看,代码好像没问题 1234567891011121314151617181920var mysql = require("mysql");let connection = mysql.createConnection({ host: "127.0.0.1", port: 3306, user: "root", password: "789456", database: "ruben"});connection.connect();connection.query("select * from user", funct...
2023-07-05
迁移数据到备份表
对孩子的责任感是一切美德的基础。——西塞罗 昨晚写了个sql执行了一会儿去睡觉了,第二天发现还在执行 然后停止了下来,换另一种方式,将不需要删除的数据迁移到备份表,然后删除原表,再重命名回去 1234567CREATE TABLE mx_product_detail_bak LIKE mx_product_detail;INSERT INTO mx_product_detail_bakSELECT *FROM mx_product_detailWHERE type = 0;DROP TABLE mx_product_detail;RENAME TABLE mx_product_detail_bak TO mx_product_detail;
2022-04-13
mysql用户、授权
天空没有一片云,一轮圆月在这一碧无际的大海里航行,孤独的,清冷的,它把它的光辉撒下来,地上,瓦上都染上了一层银白色,夜非常静。——巴金 官方文档: https://dev.mysql.com/doc/refman/8.0/en/assigning-passwords.html 创建用户 1CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'password'; 修改密码 1ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'password'; 匿名用户登录,修改自身密码 1ALTER USER USER() IDENTIFIED BY 'password'; 使用mysqladmin^1修改密码 1mysqladmin -u user_name -h host_name password "password" 注意修改失...

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