MySQL测试实⽤语句⼀、查询列注释及列名称
select  column_name, column_comment
from lumns
where table_schema ='databaseName'and table_name ='tableName';
⼆、查询表注释及表名称
select table_name,table_comment
from information_schema.tables
where table_schema ='databaseName'and table_name ='tableName';
三、按时间段查数据
select DISTINCT SPEC_NAME,SUM(task_value)
FROM表名
WHERE task_date between'202101'and'202112'
GROUP BY spec_name;
四、查当天的数据
select*
from dm_cbg_ffalcon_shop_type_sal_d
where to_days(DATA_DATE)= to_days(now())
select*
from表名
where DATE_FORMAT(时间字段名,'%Y%m%d')=DATE_FORMAT(CURDATE(),'%Y%m%d')五、查当⽉数据
select*
from表名
where DATE_FORMAT(时间字段名,'%Y%m')= DATE_FORMAT( CURDATE(),'%Y%m')六、查当年数据
select*
from dm_cbg_ffalcon_shop_type_sal_d
where DATE_FORMAT(DATA_DATE,'%Y')=DATE_FORMAT(CURDATE(),'%Y')
七、查昨天数据
⼋、查上个⽉
SELECT*
FROM表名
WHERE PERIOD_DIFF( date_format(now(),'%Y%m'), date_format(时间字段名,'%Y%m'))=1九、查去年数据
select*
from dm_cbg_ffalcon_shop_type_sal_d
where PERIOD_DIFF( date_format(now(),'%Y'), date_format( DATA_DATE,'%Y'))=1
limit0,1000
⼗、按⽉统计数据
select date_format(时间字段名,'2021-%m') mont,SUM(字段名)
from表名
group by date_format(时间字段名,'2021-%m');
⼗⼀、只传⼊⼀个查询条件,所有包含这个字段的数据查询出来
SELECT*
FROM`tb_behavior_log`
WHERE CONCAT(`behavior_log_action`,`behavior_log_controller`,`behavior_log_id`,`behavior_log_opname`)LIKE'%index%'
⼗⼆、把来⾃多个select 语句的结果组合到⼀个结果集合中
SELECT
shop_name
FROM
(SELECT DISTINCT shop_lv1 shop_name FROM shop_type_sal_d UNION ALL SELECT DISTINCT shop_lv2 shop_name FROM shop_type_sal_d ) t WHERE
1=1
⼗三、字符串拼接(取字符串左边两位)
SELECT DISTINCT
concat(LEFT( name,2),'⼨')AS data_name
FROM
ec_asset
⼗四、修改时间
SELECT data_date,shop_lv1_id
FROM表名
WHERE date_add( data_date,INTERVAL1YEAR)='2021-05-01'
select data_time,date_add(data_data_time,INTERVAL1MONTH)as new_time
from表名
where id =1
DATE_ADD(NOW(),INTERVAL1MONTH)这个函数来进⾏修改时间
第⼀个参数是要修改的时间;
第⼆个参数固定写法;
第三个参数的修改的值 : 如果正数就是加,负数就是减;
第四个参数可填YEAR,MONTH,DAY,HOUR,MINUTE,SECOND;
select*
from bbc
where month(createtime)=month(date_add(NOW(),INTERVAL1month)
⼗五、表左外连接后查询
-- ⼯作原理:
-- 从左表读出⼀条,选出所有与on匹配的右表纪录(n条)进⾏连接,形成n条纪录(包括重复的⾏,如:结果1和结果3),如果右边没有与on条件匹配的表,那连接的字段都是null.然后继续读下⼀条。
select id, name,action
from表1as u
left join表2 a
on u.id = a.user_id
⼗六、表内连接后查询
select id, name,action
from表1 u ,表2 a
where u.id = a.user_id
⼗七、分组查询结果拼接
简单的mysql语句select classes,null,count(userid)from test1
group by classes
union all
select classes,sex,count(userid)from test1
group by classes,sex
union all
select null,sex,count(userid)from test1
group by sex
等价于
select classes,sex,count(userid)from test1
group by classes,sex
grouping sets((classes,sex),(classes),(sex))

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。