MySQL学习总结

前言

最近在学MySQL,现在写一下笔记,留作参考。

正文

常用

  • 展示全部数据库
    show databases;

  • 选择数据库
    use db1;

  • 展示当前数据库下所有表单
    show tables;

  • 展示建表指令
    SHOW CREATE TABLE t;

  • 展示表单详情
    desc t;

  • 日期和时间

  1. DATETIME
    8字节,日期范围"1000-01-01 00:00:00"到"9999-12-31 23:59:59"

  2. DATE
    3字节,日期范围"1000-01-01"到"9999-12-31"

  3. TIMESTAMP
    4字节,日期范围为"1970-01-01 00:00:00"UTC到"2038-01-19 03:14"07"UTC。

  4. YEAR
    1字节,对于YEAR(4),日期范围为"1901-2155";对于YEAR(2)日期范围为"1970-2070",其中"00-69"表示"2000-2069"

  5. TIME
    3字节,显示的范围为"-838:59:59"~"838:59:59"

函数

  • HEX(x) 将x转成十六进制
    select HEX(123) #7b
    select HEX("123") #313233(0x313233)

  • 获取当前时间
    NOW()和CURRTENT_TIMESTAMP()都是表示当前SQL指令执行时的时间; SYSDATE()表示系统当前时间
    select NOW(), CURRENT_TIMESTAMP(), SYSDATE();
    select SLEEP(3), NOW(), CURRENT_TIMESTAMP(), SYSDATE();

  • 睡眠
    select SLEEP(3); # 睡眠3s

  • 时间加
    DATE_ADD(date, INTERVAL expr unit
    select DATE_ADD(now(), INTERVAL 1 DAY); #明天
    select DATE_ADD(now(), INTERVAL -1 DAY); #昨天
    其中,unit可为 YEAR/MONTH/DAY/HOUR/MINUTE/SECOND/MICROSECOND

  • 时间减
    select DATE_SUB(date, INTERVAL expr unit);
    select DATE_SUB(now(), INTERVAL 1 DAY);

  • 最大值
    找出id号最大的一行数据
    select * from tst where id=(select max(id) from tst);

上一篇:二十四、clickhouse时间窗口函数


下一篇:springboot @RestController注解