NULL值比较,两个列的合并,列值按条件替换。


show create table 表名 -- 显示创建表的sql语句。

为已有的表增加新列。
alter table 表名 add 列名 int NULL -- 此行加了一个int 类型 默认可以null的列。

NULL表示:一个未定义的值。
如何将列的值与NULL比较?
可以用IS NULL,IS NOT NULL 或<=>

可以用<=>比较两个NULL值 ,NULL<=>NULL结果为true而不是未定义。

CREATE TABLE `t1` (

`col1` char(6) NOT NULL DEFAULT '',

`col3` varchar(6) DEFAULT NULL,
`
createtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

) ENGINE=InnoDB DEFAULT CHARSET=utf8


select concat(col1,'@',createtime) from t1 -- 将列col1 和createtime的值用@连接起来显示。(值@值)


select distinct col3 from t1 -- 过虑列col3 的重复值
select count(distinct col3) from t1 -- 计录列col3 重复值的数量。


select *,if(col3 = 'abc' ,'123',col3) from t1 -- 如果 列col3 的值等于abc 那么将用123来代替
select *,IFNULL(col3,'123') from t1 -- 如果 列col3 的值等于NULL 那么将用123来代替

原文地址:https://www.cnblogs.com/longhs/p/4317376.html