前言
最近在学MySQL,现在写一下笔记,留作参考。
正文
常用
-
展示全部数据库
show databases;
-
选择数据库
use db1;
-
展示当前数据库下所有表单
show tables;
-
展示建表指令
SHOW CREATE TABLE t;
-
展示表单详情
desc t;
-
日期和时间
-
DATETIME
8字节,日期范围"1000-01-01 00:00:00"到"9999-12-31 23:59:59" -
DATE
3字节,日期范围"1000-01-01"到"9999-12-31" -
TIMESTAMP
4字节,日期范围为"1970-01-01 00:00:00"UTC到"2038-01-19 03:14"07"UTC。 -
YEAR
1字节,对于YEAR(4),日期范围为"1901-2155";对于YEAR(2)日期范围为"1970-2070",其中"00-69"表示"2000-2069" -
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);