首页 > 数据库 >mysql 实用方法

mysql 实用方法

时间:2023-01-09 17:12:45浏览次数:39  
标签:abc -- sourceTradeNo 实用 wldh mysql 字符串 方法 select

数据类型转换

select cast('123.34595' as DECIMAL(12,2)); -- 123.35
  • 支持类型
支持类型 描述 补充
BINARY 二进制型
CHAR 字符型
DATE 日期,格式为 'YYYY-MM-DD'
DATETIME 日期加具体的时间,格式为 'YYYY-MM-DD HH:MM:SS’
TIME 时间,格式为 'HH:MM:SS’
DECIMAL float型
SIGNED int 型
UNSIGNED 无符号int

拼接

# 拼接
-- CONCAT(string1,string2...) 
select concat('abc','123');      -- abc123
-- CONCAT_WS(separator,string1,string2,string3...)
select concat_ws(',','abc','123');   -- abc,123

正则表达式

# 正则表达式 
-- REGEXP  '[A-Z]'   
select 'A' regexp '[A-Z]';  -- 1
select 'a' regexp '[A-Z]';  -- 1 -- 不区分大小写
select '1' regexp '[A-Z]';  -- 0
-- example:
    -- update order_detail  set  warehouseName = REPLACE(sourceTradeNo,'A','') where sourceTradeNo like "%A%" and RIGHT(sourceTradeNo,1)  REGEXP '[A-Z]';

截取字符串


# 截取字符串
-- SUBSTR (str, 起始位置, 长度)
SELECT SUBSTR('2018-08-17',5,6); -- -08-17
-- substring_index(字符串,分隔符,序号)
select substring_index('aa,bb,cc,vv',',',1); -- aa
-- example:
    -- update dc_cw_warehouse_return_d set wldh=substring_index( wldh,'R02T',-1) where wldh like '%R02T%';

替换字段中的字符

# 替换字段中的字符
select  replace('aabbccvv','bbcc','==');    --  aa==vv
select  right('abc',1);    -- c 
select  left('abc',1);     -- a  
-- example:
    -- right(sourceTradeNo,1)  REGEXP '[A-Z]' 字段的第一位置,字符在 指定[A-Z]范围内
    -- update order_detail  set  warehouseName = REPLACE(sourceTradeNo,'A','') where sourceTradeNo like "%A%" and RIGHT(sourceTradeNo,1)  REGEXP '[A-Z]';

返回字符长度

# 返回字符长度 
-- CHAR_LENGTH()
select char_length('abc');  -- 3 

字符串是否被包含

# 字符串是否被包含
-- locate(str,sub) > 0,表示sub字符串包含str字符串;
-- locate(str,sub) = 0,表示sub字符串不包含str字符串;
select locate('a','abc');  -- 1

格式化时间字符串

# 格式化时间字符串
select date_format('2022-10-10 23:59:59.123','%Y-%m');   -- 2022-10

删除字段前导尾导字符

# 删除字段前导尾导字符,未指定则是删除空字符
select trim(leading 'x' from 'xxxnamexxx'); 	-- namexxx
select trim(trailing 'x' from 'xxxnamexxx');  -- xxxname
select trim(both 'x' from 'xxxnamexxx'); 			-- name
-- example:
	-- update dc_cw_warehouse_return_d set bar_code=trim(bar_code);
	-- select trim(both 'j' from name)   from test.a;

查询中的条件语句

# 查询中的条件语句  
select case 'abc' 
	when 'a' then '是a' 
	when 'b' then '是b' 
	when 'abc' then '是abc'
	else  '什么都不是'
	end '字段名' ;  -- 是abc   
-- example:
	--	select oid,group_concat(refund_id),group_concat(sid)sid,sum(refund_fee)refund_fee,
	--	case when sum(has_good_return)=1 then '退货退款' else '仅退款' end has_good_return  
	--	from pc_tb_open_refunds_order 
	--	where DATE_FORMAT(modified,'%Y-%m-%d')='2022-01-01'GROUP BY oid;

更新赋值

# 更新赋值
update dc_cw_warehouse_return_d set wldh=wldh_old where wldh='';

连接多个查询

# 连接多个查询
select 'Field01','Field02' union all select 'Field01','Field02';

分组合并

# 分组合并
-- GROUP_CONCAT([DISTINCT] column1 [ORDER BY column2 ASC\DESC] [SEPARATOR seq]);
-- 将分组中column1这一列对应的多行的值按照column2 升序或者降序进行连接,其中分隔符为seq
-- 如果用到了DISTINCT,将表示将不重复的column1按照column2升序或者降序连接
-- 如果没有指定SEPARATOR的话,也就是说没有写,那么就会默认以 ','分隔
-- example:
	-- select  group_concat(distinct details_id ORDER BY id desc separator '-') from test.a;

导出数据工具

# 导出数据工具  
load data local infile 'C:/mysqlFile/file.csv'   		-- 文件路径必须是全英文的  文件路径另外一种形式:D:\\01_xlsx_file\\douyin_xiaodian01.csv
replace into table pc_homay.dc_cw_douyin_bill_d     		-- 选择对应的数据库和表
fields terminated by ','
optionally enclosed by '"'
lines terminated by '\n'
ignore 1 lines(bill_time,fund_flow,fund_flow_desc,account_amount); -- 选择数据库的字段,按照位置参数。

查看当前执行的存储过程

# 查看当前执行的存储过程 
select * from information_schema.innodb_trx;

会显示当前的数据库的进程

# 会显示当前的数据库的进程 
show full processlist; 

标签:abc,--,sourceTradeNo,实用,wldh,mysql,字符串,方法,select
From: https://www.cnblogs.com/jwdboke/p/17027688.html

相关文章

  • mysql 查询当天过生日sql
           线上发现有这么一个慢sql:查询当天生日的用户,由于用户量达到了百万级,原来的慢sql如下:       selectt1.idasid,t1.user_name,t1.re......
  • jQuery判断checkbox是否选中的3种方法
    方法一(建议):if($("#checkbox-id").get(0).checked){//dosomething}感谢豆瓣绿补充:if($("#checkbox-id")[0].checked){//dosomething}方法二(建议):......
  • 手机页面,使用手写输入法时input无法获取最后一个字的解决方法
    遇到部分用户反馈,搜索框input里总是少一个字,仔细询问后,发现是在手写输入法的时候才存在这个问题看了下代码,搜索框有做根据输入字符变化,实时推送推荐关键字和商品的功能,所......
  • MySQL23 - SQL优化
    SQL优化插入数据批量插入插入多条数据时,执行批量插入,但批量插入也不建议插入超过1k条几百万数据时,多次批量插入INSERTINTOtable_nameVALUES(..)(..)(........
  • MySQL统计一个数据库中所有表的数据量
    mysql统计一个数据库里所有表的数据量,最近在做统计想查找一个数据库里基本所有的表数据量,数据量少的通过selectcount再加起来也是可以的,不过表的数据有点多,不可能一个一个......
  • TensorFlow模型保存和载入方法汇总
    目录 ​​一、TensorFlow常规模型加载方法​​​​保存模型​​​​加载模型​​​​1.不加载图结构,只加载参数​​​​ 2.加载图结构和参数​​​​ 3.简化版本​​​......
  • 关于for循环中remove方法使用问题
    //直接forEachList<String>k=newArrayList<>();k.add("1");k.add("2");k.add("3");k.add("4");for(Stringd:k){k.remove(d);}//for循环List<String>k=......
  • MySQL22 - SQL性能分析
    SQL性能分析SQL执行频率通过SHOW[SESSION|GLOBAL]STATUS命令可以提供服务器状态信息,通过以下指令可以查看当前数据库的INSERT、UPDATE、DELETE、SELECT的访问频......
  • MySQL21 - 索引
    索引什么是索引索引相当于一本书的目录,为了缩小扫描范围而存在、提高查询效率的一种数据结构一张表的一个字段可以添加索引,多个字段也可以联合起来添加索引在任何数据......
  • Flink的转换方法
    流处理说明Transformation基本操作map/flatMap/filter/keyBy/sum/reduce...和之前学习的Scala/Spark里面的一样的意思map方法、flatmap方法、keyBy方法、reduce方法m......