赞
踩
1、查询指定月份数据
SELECT * FROM 表名 WHERE YEAR(时间字段名)='2020' AND MONTH(时间字段名)='9'
2、查询某天的数据
select * from 表名 where to_days(时间字段名) = to_days(now());
3、查询当前时间段的数据
SELECT * FROM 表名 WHERE 字段名>NOW()-INTERVAL 2 HOUR;
4、查询近2天的数据
SELECT * FROM 表名 WHERE TO_DAYS(NOW( ) ) - TO_DAYS( 时间字段名) <= 1 ;
5、查询昨天的数据
SELECT * FROM 表名 WHERE TO_DAYS(NOW( ) ) - TO_DAYS( 时间字段名) = 1 ;
6、查询近7天的数据
SELECT * FROM 表名 whereDATE_SUB(CURDATE(), INTERVAL 7 DAY) <=date(时间字段名);
7、查询近30天的数据
SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <=date(时间字段名);
8、查询本月的数据
SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) =DATE_FORMAT( CURDATE( ) , '%Y%m' );
9、查询上个月的数据
SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( 时间字段名, '%Y%m' ) ) =1 ;
10、查询本季度,包括每年的本季度
select * from 表命 where QUARTER(create_date)=QUARTER(now());
11、查询本年
select * from 表名 where YEAR(create_date)=YEAR(NOW());
12、查询上年数据
select * from `ht_invoice_information` where year(create_date)=year(date_sub(now(),interval 1 year));
13、查询当前这周的数据
SELECT * FROM 表名 WHERE YEARWEEK(date_format(时间字段名,'%Y-%m-%d')) = YEARWEEK(now());
14、查询上周的数据
SELECT * FROM 表名 WHERE YEARWEEK(date_format(时间字段名,'%Y-%m-%d')) =YEARWEEK(now())-1;
15、查询当前月份的数据
select * from 表名 where date_format(时间字段名,'%Y-%m')=date_format(now(),'%Y-%m')
16、查询距离当前现在6个月的数据
select * from 表名 where 时间字段名 between date_sub(now(),interval 6 month) and now();
17、内连接:会读取数据表的共有数据
SELECT tg.name,tg.goods_sn,tg.id,tc.name from 表名1 tg INNER JOIN 表名2 tc ON tg.goods_category_id=tc.id;
18、左连接:会读取左边数据表的全部数据,即便右边边表无对应数据
SELECT tg.name,tg.goods_sn,tg.id,tc.name from 表名1 tg LEFT JOIN 表名2 tc ON tg.goods_category_id=tc.id;
19、右连接:会读取右边数据表的全部数据,即便左边边表无对应数据
SELECT tg.name,tg.goods_sn,tg.id,tc.name from 表名1 tg RIGHT JOIN 表名2 tc ON tg.goods_category_id=tc.id;
20、查询以190开头的数据
SELECT * from 表名 where 字段 REGEXP '^190';
21、查询以80结尾的数据
SELECT * from 表名 where 字段 REGEXP '80$';
22、查询以186开头或8568结尾的数据
SELECT * from member_info where mobile REGEXP '^186|8568$';
23、查询包含1675的所有数据
SELECT * from 表名 where 字段名 REGEXP '1675';
备注:MySQL中可以使用REGEXP操作符来进行正则表达式匹配
24、删除表的某个字段
ALTER TABLE 表名 DROP 字段名;
备注:如果数据表中只剩余一个字段则无法使用DROP来删除字段。
25、新增某字段
ALTER TABLE 表名 ADD 字段名 类型(int/char);
26、修改字段类型
ALTER TABLE 表名 MODIFY 字段名 CHAR(10);
27、查询某字段包含某个值
select count(*) from 表名 where FIND_IN_SET('204080945069205',字段名);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。