mysql 常用函数如 select @i:=0 , case when,group_concat等

mysql 位数不够补零
前面补零 LPAD(str,len,padstr)
后面补零 RPAD(str,len,padstr)

表字段的更新:|
ALTER TABLE landmarkMark COMMENT='地标管理表';
CALL setcolumn('landmarkMark','id','modify','int(11) NOT NULL AUTO_INCREMENT COMMENT ''自增Id ''');
CALL setcolumn('landmarkMark','lName','modify','varchar(50) NOT NULL COMMENT ''地标名称  暂时不用 ''');
CALL setcolumn('landmarkMark','lType','modify','varchar(200) NOT NULL COMMENT ''地标类型 暂时不用 ''');
CALL setcolumn('landmarkMark','lSize','modify','varchar(50) DEFAULT NULL COMMENT ''地标尺寸 ''');CALL setcolumn('landmarkMark','updateTime','modify','datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ''更新时间 ''');

sql 查询给予序号
select a1.userName,a1.i,c.i,c.userCode from (
select * from (
select userName, (@i:=@i+1)  i  from (
SELECT '何智琥' userName FROM DUAL
UNION
SELECT '苏家兴' userName FROM DUAL
UNION
SELECT '李维' userName FROM DUAL
) a ,(select  @i:=0)  as  it
|) c1 ) a1 LEFT JOIN  (
select * from (
select userCode,(@i:=@i+1)  i from (
SELECT c.userCode FROM accountInfo c ORDER BY c.logNum DESC LIMIT 3
) b2,(select  @i:=0)  as  it ) c2 ) c on a1.i=c.i where true 

锁表查询及处理
https://www.cnblogs.com/yqzc/p/12491987.html
1.show OPEN TABLES where In_use > 0;
2.show processlist;
3.kill thread_id;

GROUP_CONCAT(pCode SEPARATOR "','")
GROUP_CONCAT() 默认分割符号 逗号 , SEPARATOR  可指定分割符

-- case when 的用法

SELECT a.*,DATE_FORMAT(a.createTime,'%Y-%m-%d') createTime, b.pName, case type when 1 then '指挥部会议'
when 1 then '指挥部办公室会议'  else '指挥部现场协调会' end type
FROM meetingInfo a LEFT JOIN projBasic b ON a.pCode = b.pCode WHERE a.id =66

-- 删除 accountInfo 的唯一约束 需要保证约束存在

DROP INDEX accountON accountInfo; -- 删除约束 
SHOW INDEX FROM accountInfo;  -- 查询表里面索引

DATEDIFF(2020-12-01,2020-11-01) 两个日期相减  第一个日期减去第二个日期 得到天数

多个字符拼接 按照某一个字符进行分割 

CONCAT_WS(x, s1,s2...sn)同 CONCAT(s1,s2,...) 函数,但是每个字符串之间要加上 x,x 可以是分隔符合并多个字符串,并添加分隔符:

SELECT CONCAT_WS("-", "SQL", "Tutorial", "is", "fun!")AS ConcatenatedString;

mysql group_concat 函数 最大值的设置

SET GLOBAL group_concat_max_len =4294967295;

SET SESSION group_concat_max_len =4294967295;

删除某个表的多个字段

alter table materialPlan drop column materialType,drop column materialName;





posted on 2022-08-05 09:09  云淡风轻博客  阅读(1266)  评论(0编辑  收藏  举报