1、日期时间戳
1、日期转时间戳:
获取当前时间戳
select unix_timestamp();
#结果:1592474484
时间转时间戳
select unix_timestamp('2018-12-05 01:10:00');
#结果:1543943400
2、时间戳转日期:
返回格式:%Y-%m-%d %T
select FROM_UNIXTIME(1543943400);
#结果:2018-12-05 01:10:00
返回自定义格式
select FROM_UNIXTIME(1543943400,'%Y%m%d');
#结果:20181205
3、日期格式化:
返回格式:%Y-%m-%d
select DATE_FORMAT(NOW(), '%Y-%m-%d');
#结果:2020-06-18
2、sum(if()) 和 count(if()) 的用法
SELECT SUM(if(category=1,size,0)) ,COUNT(if(category=1,true,null)) FORM t_file;
解析:
- sum(if(category=1,size,0))中 sum函数返回一个值类型的数值,如果category=1,则返回size,如果category不等于1就返回0。
- count(if(category=1,true,null))中count函数返回一个布尔值类型的数值,如果category=1,返回true,如果category不等于1返回null,如果写成count(If(category=1,1,0) 则返回的全是true,也就是说全都会计数,而count()间断内容是true还是null,如果不是null就计数,如果是null就不计数。
3、清空表自增id重新计数
TRUNCATE TABLE teacher
4、UUID
SELECT UUID();
5、拷贝表数据
Insert into Table2(field1,field2,...) select value1,value2,... from Table1
不支持 SELECT vale1, value2 into Table2 from Table1
6、关于外键关联关系
#查询外键关联关系
SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME='被引用表的表名'
#修改有外键关联关系的数据
SET FOREIGN_KEY_CHECKS = 0;
Do Something;
SET FOREIGN_KEY_CHECKS = 1;