实用的执行sql,持续更新

– 获取昨天的日期,并住哪华为yyyyMMdd格式
select DATE_FORMAT(date_sub(curdate(),interval 1 day ), ‘%Y%m%d’);

– 获取昨天的日期,格式为yyyy-MM-dd
select date_sub(curdate(),interval 1 day);

– 获取今天的日期,格式为yyyy-MM-dd
select curdate();

– 获取当前时间,格式为yyyy-MM-dd HH:mm:ss
select now();

– 将202303转为2023,并int类型
select cast(SUBSTRING(‘202303’, 1, 4) as int);

– 将202303转为2023,并varchar类型
select cast(SUBSTRING(‘202303’, 1, 4) as varchar);

– 从202303获取2个月前的日期,从202303获取到202301
select DATE_FORMAT(DATE_SUB(STR_TO_DATE(‘202303’, ‘%Y%m’), INTERVAL 2 MONTH),‘%Y%m’);

– 从202303获取2年前的日期,从202303获取到202103
select DATE_FORMAT(DATE_SUB(STR_TO_DATE(‘202303’, ‘%Y%m’), INTERVAL 2 YEAR),‘%Y%m’);

– 将 2021-03-24 21:27:50转为202103
select DATE_FORMAT(‘2021-03-24 21:27:50’,‘%Y%m’);

– 将数据库设置为安全
SET SQL_SAFE_UPDATES=0;

– 拼接日期,将2023-04-01和2023-04-30,拼接成20230401-20230430
select concat(“20230401”,“-”,“20230430”) from dual;
select concat(DATE_FORMAT(‘2023-04-01’,‘%Y%m%d’),“-”,DATE_FORMAT(‘2023-04-30’,‘%Y%m%d’)) from dual;

– 查询是否有重复值
select camera_name from camera_info group by camera_name having count(camera_name)>1;

– 将sql查询出来的某一列值对应的多个结果,拼接成一个结果值
select group_concat(字段名) as 字段名 from 表名 where 条件=…,但是group_concat只能拼接1024长度

– 修改添加索引
alter table nft_transfer_record_bind add key index_transer_seq (transer_seq);
alter table nft_transfer_record_bind add key index_nft_id (nft_id);
– 删除索引
drop index index_nft_id on nft_transfer_record_bind;
drop index index_transer_seq on nft_transfer_record_bind;

– 库表添加索引
alter table nft_transfer_record_bind add key index_transer_seq (transer_seq);

– 库表添加字段
ALTER TABLE rpt_task_dispatch_daily_task_his ADD COLUMN insert_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT ‘插入时间’ after node_tigger_time;

你可能感兴趣的:(sql,数据库)