【MySQL】常用命令

# 获取当前时间
select now();

# 获取当前时间戳
select unix_timestamp() * 1000;

# 时间转时间戳
select unix_timestamp('日期') * 1000;

# 时间戳转时间
select from_unixtime(time / 1000);

# 时间戳格式化
select from_unixtime(time / 1000, '%Y-%m-%d');
select from_unixtime(time / 1000, '%Y-%m-%d %H:%i:%s');

# 时间格式化
select date_format(now(), '%Y-%m-%d');
select date_format(now(), '%Y-%m-%d %H:%i:%s');

# 日期添加指定的时间间隔
select adddate('日期', num);

# 字符串拼接
select concat('', ''...);

# 模糊查询(like效率最低,条件左右亦可)
select '字段' from '表名' where '字段' like '%_%';
select '字段' from '表名' where instr('字段', '');
select '字段' from '表名' where locate('', '字段');
select '字段' from '表名' where position('' in '字段');
select '字段' from '表名' where find_in_set('', '字段');

# join用法
left join : 两个表的交集外加左表剩下的数据;
right join : 两个表的交集外加右表剩下的数据;
inner join : 两个表的交集;
cross join : 将A表的每一条记录与B表的每一条记录强行拼在一起;
using : using('字段')的功能相当于on '字段' = '字段',using会去除指定的列,而on不会;

# 分组后字段合并
select group_concat('字段') from '表名' group by '字段';

# 生成连续日期
create table date (i int(1));
insert into date (i) values (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
select
adddate('开始日期', dates.i) date
from (
	select
	d1.i + d10.i * 10 + d100.i * 100 i 
	from date d1
	cross join date d10
	cross join date d100 
) dates 
where adddate('开始日期', dates.i) <= '结束日期';

# 累加
select 
(@i := @i + num) 
from t 
cross join (select @i := 0) x

# 表添加字段
alter table 表名 add colum 字段名 varchar(255) character set utf8 collate utf8_general_ci null default '' comment '描述' after 字段名;

# 创建存储过程
create procedure pro_()
begin
declare i int;
declare user varchar(36);
set i = 0;
while i < 15000 do
		set user = uuid();
    insert into sys_user(user_id, username) values (user, user_id);
		insert into sys_org_user(relate_id, org_id, user_id) values (uuid(), org_id, user);
    set i = i+1;
end while;
end;

# 执行存储过程
call pro_;

# 删除存储过程
drop procedure pro_;

Mybatis转义字符表

&lt;<小于
&gt;>大于
&amp;&
&apos;'单引号
&quot;"双引号

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值