1.coalesce函数
select coalesce(a,b,c);
参数说明:
如果a==null,则选择b;
如果b==null,则选择c;
如果a!=null,则选择a;
如果a b c 都为null ,
则返回为null(没意义)。
2、IFNULL函数
select * , columnName1+ifnull(columnName2,0) from tableName;
说明:
columnName1,columnName2 为 int 型,
当 columnName2 中,有值为 null 时,columnName1+columnName2=null,
ifnull(columnName2,0) 把 columnName2 中 null 值转为 0。
3、 临时表【TEMPORARY 】
CREATE TEMPORARY TABLE 临时表名;
CREATE TEMPORARY TABLE 临时表名 AS
(
SELECT * FROM 旧的表名
LIMIT 0,10000
);
说明:
默认情况下,当你断开与数据库的连接后,临时表就会自动被销毁。
当然你也可以在当前MySQL会话使用 DROP TABLE 命令来手动删除临时表。
3、MySQL 处理重复数据
INSERT IGNORE INTO 当插入数据时,在设置了记录的唯一性后,如果插入重复数据,将不返回错误,只以警告形式返回。
而 REPLACE INTO 如果存在 primary 或 unique 相同的记录,则先删除掉。再插入新记录。
说明:
你可以在 MySQL 数据表中设置指定的字段为 PRIMARY KEY(主键) 或者 UNIQUE(唯一) 索引来保证数据的唯一性。
4、根据日期计算年龄
SELECT TIMESTAMPDIFF(YEAR, @birthday, CURDATE())