mysql审计日志的作用
MySQL数据库系统提供了多种日志,用于记录不同类型的事件和操作。这些日志可以帮助我们进行故障排除、性能优化、安全审计等任务。在MySQL中,主要的日志类型包括以下几种:1. 错误日志(Error L...
2024.11.14前言:
在MYSQL数据库的使用中,业务数据的增删改查离不开数据治理,当然,这就会涉及到数据库系统内置的一些文本处理函数的使用,来实现数据的规范处理,达到业务应用的目的,涉及到的方法可能包含以下内容:
1、替换:replace(需替换的字段,被替换的字符,替换的内容)
2、截取:substr(需处理的数字和字符串,从1开始的下标序号,截取字符的长度)
3、分割:substring_index(字段,分割符号,M) M指第几个分割符,有正负之分
4、拼接:concat(字段1,字段2,字段3,......)
5、字串检索:locate(待检索的字串,字段,检索起始位置[数字,默认1])
6、小写转换:lower(待转换的字串)
7、大写转换:upper(待转换的字串)
8、长度返回:length(待计算长度的字串)
9、左截取:left(待提取的字符串,指定将从左边返回的字符数)
10、右截取:right(待提取的字符串,指定将从右边返回的字符数)
11、删除指定字串:trim(both| leading | trailing 子串 from 原始字段)
12、清除左空格:ltrim(需要删除左侧空格的字符串)
13、清除右空格:rtrim(需要删除右侧空格的字符串)
14、返回字符串的位置:position(在字符串中搜索的子串 in 要搜索的原始字符串)
模拟数据:
图1-总模拟数据
应用1、替换:replace(需替换的字段,被替换的字符,替换的内容)select id,other_name,replace(other_name,‘_‘,‘替换内容‘) from class_score where id = 2查询结果:
图2-replace
应用2、截取:substr(需处理的数字和字符串,从1开始的下标序号,截取字符的长度)select id,bobby,substr(bobby,1,4) from class_score where id = 2查询结果:
图3-substr
应用3、分割:substring_index(字段,分割符号,M) M指第几个分割符,有正负之分 select id,bobby,substring_index(bobby,‘,‘,1) from class_score where id = 2 //若M数字为正,从左往右,查询的是第M分隔符左边所有的内容查询结果:
图4-substring_index
select id,bobby,substring_index(bobby,‘,‘,-1) from class_score where id = 2 ////若M数字为负,从右往左,查询的是第|M|分隔符右边所有的内容查询结果:
图5-substring_index
应用4、拼接:concat(字段1,字段2,字段3,......)select id,name,six,subject,concat(name,‘-‘,six,‘-‘,subject) as desc_ from class_score查询结果:
图6-concat
应用5、字串检索:locate(待检索的字串,字段,检索起始位置[数字,默认1])select id,name,other_name,locate(‘a‘,other_name,2) as desction from class_score where id = 12从other_name查找a第一次出现的位置。如果a不在other_name中,则返回值为0。
查询结果:
图7-locate
应用6、小写转换:lower(待转换的字串)select id,name,other_name,lower(other_name) from class_score where id = 2查询结果:
图8-lower
应用7、大写转换:upper(待转换的字串)select id,name,other_name,upper(other_name) from class_score where id = 1查询结果:
图9-upper
应用8、长度返回:length(待计算长度的字串)select id,name,other_name,length(other_name) from class_score where id = 2查询结果:
图10-length
应用9、左截取:left(待提取的字符串,指定将从左边返回的字符数)select id,name,other_name,left(other_name,2) from class_score where id = 12查询结果:
图11-left
应用10、右截取:right(待提取的字符串,指定将从右边返回的字符数)select id,name,other_name,right(other_name,3) from class_score where id = 12查询结果:
图12-right
应用11、删除指定字串:trim(both| leading | trailing 子串 from 原始字段)selecttrim( ‘ xhx ‘ ) AS ‘删除指定字符串中的空格‘,trim( LEADING ‘x‘ FROM ‘xxhhxx‘ ) AS ‘删除指定的首字符‘,trim( BOTH ‘x‘ FROM ‘xxxhhhxxxhhhxxx‘ ) AS ‘删除指定的首尾字符‘,trim( TRAILING ‘x‘ FROM ‘xxxhhhxxxhhhxxx‘ ) AS ‘删除指定的尾字符‘查询结果:
图13-trim
应用12、清除右空格:rtrim(需要删除右侧空格的字符串)select rtrim( ‘ xhx ‘ ) AS ‘清除右边空格‘,replace ( rtrim( ‘ xhx ‘ ), ‘ ‘, ‘-‘ ) AS ‘验证结果‘查询结果:
图14-rtrim
应用13、清除左侧空格:ltrim(需要删除左侧空格的字符串)select ltrim( ‘ xhx ‘ ) AS ‘清除左侧空格‘,replace ( ltrim( ‘ xhx ‘ ), ‘ ‘, ‘-‘ ) AS ‘验证结果‘查询结果:
图15-ltrim
应用14、返回字符串的位置:position(在字符串中搜索的子串 in 要搜索的原始字符串)select POSITION(‘a‘ in ‘saggxx‘) as ‘字符a出现的位置‘ //若字符串没有所查询的字符则返回0查询结果:
图16-position
MySQL数据库系统提供了多种日志,用于记录不同类型的事件和操作。这些日志可以帮助我们进行故障排除、性能优化、安全审计等任务。在MySQL中,主要的日志类型包括以下几种:1. 错误日志(Error L...
2024.11.14SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数请看下面的 "Products" 表:假如 "UnitsOnOrder" 是可选的,而且可以包含 NULL 值。我...
2024.11.15概述相信我们经常会遇到这样的场景:想要了解双十一天猫购买化妆品的人员中平均消费额度是多少(这可能有利于对商品价格区间的定位);或者不同年龄段的化妆品消费占比是多少(这可能有助于对商品备货量的预估)。这...
2024.11.12简介在MySQL查询数据的时候,我们一般都会选择查询一段时间的数据,这时候就涉及到时间的取值。MySQL带有一些函数可以让我们更轻松的获取对应的时间。时间函数1、NOW获取当前日期和时间的函数。语法:...
2024.11.15摘要:在Mysql数据库的管理与应用过程中,不可避免的需要接触到各种各样的数据类型,其中时间数据是最复杂多样的。为了满足各种各样的需求,需要定制不同的时间转换格式,有些会放到服务器程序上,通过代码实现...
2024.11.12