函数
MAX()
MIN()
COUNT()
: 计算
CONCAT()
: 连接
|
|
TO_DAYS(时间字段)
: 计算0000年到{时间字段}的天数
SELECT * FROM chat_log WHERE TO_DAYS(create_time) = TO_DAYS(NOW()); --查询今天的数据
|
|
REPLACE(字段, 待修改的字符串, 修改后的字符串)
: 替换字段中的字符串
SELECT REPLACE('hello, lilei', 'lilei', 'peter') --hello, peter
|
|
DATE_SUB(NOW(), INTERVAL 1 MINUTE/HOUR/DAY)
: 查询距今某个时间段的数据
SELECT * FROM javastudy.chat_log WHERE create_time > DATE_SUB(NOW(), INTERVAL 7 DAY);
|
|
IFNULL(字段, 设定值)
: 如果某个字段值为null
, 则让它等于设定值
SELECT IFNULL(`password`, 'qqq') FROM javastudy.userinfo;
|
|
FIND_IN_SET(str, column)
并且字段值之间用,
分开。:查询字符串str
是否在column
中
SELECT FIND_IN_SET('a', 'a,b,c,d'); -- 1
语法
INSERT IGNORE INTO table
: 当插入数据时,如出现错误时,如重复数据,将不返回错误,只以警告形式返回。所以使用ignore请确保语句本身没有问题,否则也会被忽略掉
REPLACE INTO
: 如果存在primary or unique相同的记录,则先删除掉。再插入新记录。
INSERT INTO table (a, b) VALUES (A, B) ON DUPLICATE KEY UPDATE
: 如果主键重复,就更新该条记录,否则就添加。
INSERT INTO `tb_user`(
id,
username,
password
) VALUES (
#{id},
#{username},
#{password}
) ON DUPLICATE KEY UPDATE
username = #{username},
password = #{password}
网友评论