MySQL数据库


MySQL数据类型

 
数据类型 关键字
整型 int或integer,两个是一样。
浮点型 double或float,通常使用double
字符串型 可变长 varchar(长度),定长:char(长度)
日期类型 date 日期 time 时间 datetime
  sql中数字类型DECIMAL和NUMERIC在java中可以用BigDecimal类型接收   判断函数
点击查看代码
select case 
    when 2 < 0 then 'a小于0'
    when 2 > 0 then 'a大于0'
    else 'a为0'
    end ;

SELECT IF(TRUE,'真的','假的');
SELECT IFNULL(expression, alt_value);
SELECT IFNULL(NULL,'这个值为空'); -- 为null时,显示后面的值
SELECT IFNULL('这个值不为null','AD'); -- 不为null时,显示当前值

  日期函数
点击查看代码
日期格式化
返回当前日期和时间。
SELECT CURDATE();
select now();

NOW()、CURRENT_TIMESTAMP()、CURRENT_TIMESTAMP,
LOCALTIME()、LOCALTIME、LOCALTIMESTAMP()、LOCALTIMESTAMP:
SYSDATE() -- 系统的真正时间

SELECT DATE_FORMAT(NOW(),"%Y-%m-%d");
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s')

--分别取出当前年月日
year() , month(),dayofmonth()
SELECT YEAR(NOW());

将时间戳格式化为 2018-06-11 09:37:00 格式(默认)
SELECT FROM_UNIXTIME(1528681020) ;
SELECT FROM_UNIXTIME(unix_timestamp(),'%Y-%m-%d %H:%i:%s')

取某个月的第一天
select date_sub('2021-07-08', interval day('2021-07-08') - 1 day);

取某个月的最后一天
select last_day('2021-07-08');

取某个月的下个月第一天
select date_add(last_day('2021-07-08'),interval 1 day);

要看某个月数据时要用到
select * from test01
where date_time between date_sub('2021-07-08',interval day('2021-07-08') day )
and date_add(last_day('2021-07-08'),interval 1 day) ;