[mysql]mysql的全部单行函数

单行函数

几乎我们认识的语言都会对一些常用的功能进行,封装,有些叫函数,有些叫方法(Java),后期我们还可以自定义函数.

现在我们就当大家是没有语言基础,我们来从头开始讲.不过大家肯定接触过,中学说的函数,y=f(x)f代表的就是function的缩写,这里其y=2x+1fx代表的就是封装的内容.

函数在我们的语言贯穿始终,他可以把我们经常使用的方法进行封装,需要的时候直接调用就可以,这样提高了代码的效率和可维护性.维护起来也比较方便,我们sql中可以对检索的数据进行函数操作,可以提高对数据的管理效率.

不同数据库管理系统DBMS函数的差异

我们的数据库提供的现成的函数,我们来说一下不同的数据库管理系统的差异.我们sql的语言也是定义了不同的函数,如果是不同的数据库软件,他们之间函数的差异很大,远大于一个语言不同版本的差异,sql,java,python也好,他们虽然版本会有差异,但是如果看mysql,oracle,pgsql,这些的函数差异都是很大的比如很多DBMS都是用||作为连接的的操作

如果我们mysql里面就没有输出结果

,

mysql里面是用concat来进行的连接操作,首先我们来针对mysql的内置函数和分类.

我之后会发一个函数的内容,大家自行寻找,把大部分的函数都放在里面了,基本上都放全了.只有一些用的比较少的,就没放了.大家需要什么函数大家直接进去找就可以了

函数的分类

功能分类

.这么多函数我们分了下类.数值相关的函数,整型阿字符串函数,时间函数,流程控制函数,加密与解密函数,获取mysql信息函数,聚合函数等

这是从功能角度划分的

另一个角度分类

单行函数就是只对一行进行变换,只返回一个结果比如abs,它是可以多个同时使用的

多行函数就是类似聚合函数或者分组函数,

数值函数:

相对于比较好理解的,这里是说数值好理解,不代表函数熟悉

ABS(x)

ABS(x) 返回x的绝对值

SIGN(X)

SIGN(X) 返回X的符号。正数返回1,负数返回-1,0返回0

PI()返回圆周率的值

CEIL(x),CEILING(x)

CEIL(x),CEILING(x) 返回大于或等于某个值的最小整数 天花板函数

FLOOR(x)

FLOOR(x) 返回小于或等于某个值的最大整数底部函数

LEAST(e1,e2,e3…)

LEAST(e1,e2,e3…) 返回列表中的最小值

GREATEST(e1,e2,e3…)

GREATEST(e1,e2,e3…) 返回列表中的最大值

MOD(x,y)

MOD(x,y) 返回X除以Y后的余数

上面这一小波是比较简单的,我这边就直接写好了

SELECT ABS(-123),ABS(32),SIGN(-23),SIGN(43),PI(),CEIL(32.32),CEILING(-43.23),FLOOR(32.32), FLOOR(-43.23),MOD(12,5) FROM DUAL;

天花板函数是一定去上cell和celling地板函数一定去下,floor

RAND()返回0~1的随机值

 RAND(x) 返回0~1的随机值,其中x的值用作种子值,相同的X值会产生相同的随机 数

SELECT RAND(),RAND(),RAND(10),RAND(10),RAND(-1),RAND(-1)

 FROM DUAL

这个随机函数比较有意思:是0-1大家想要100是随机数,那你就乘100,参数代表的是一个人性化的设置,添加的数是因子,如果是一样的那么结果就是相同的,我们跑一下,我们会发现是一样的

所以本质上是一个伪随机.只要我们保证我们取的范围0-1返回的值在海量数据的概率上看是平均分布的.

ROUND(x)

ROUND(x) 返回一个对x的值进行四舍五入后,最接近于X的整数

ROUND(x,y)

ROUND(x,y) 返回一个对x的值进行四舍五入后最接近X的值并保留到小数点后面Y位

TRUNCATE(x,y)

TRUNCATE(x,y)返回数字x截断为y位小数的结果

这边是一个四舍五入的函数

SELECT ROUND(12.33),ROUND(12.343,2),ROUND(12.324,-1),TRUNCATE(12.66,1),TRUNCATE(12.66,-1) FROM DUAL

所以ROUND(x,y) y代表的就是保留几位小数的意思如果写的负一保留的就是120 ,,截断是必须要有2个参数,和四舍五入的round不一样,这里我们truncate(x,y)

不会进行四舍五入,就算是9也都白扯,比如truncate(139.15,-1) round(139.15,-1)

另外我们之前不是说单行函数是可以嵌套的,

SELECT TRUNCATE(ROUND(123.456,2),0)

SQRT(x) 返回x的平方根。当X的值为负数时,返回NULL

这个就是开根号,我就不演示了

三角函数RADIANS(x),DEGREES(X)

在一些特殊的科学运算里我们可能会用到三角函数,我们这里的三角函数用的都是弧度值,但是我们平时说的sin30,cos30代表的都是角度,所以我们要先把它替换成弧度,这里就需要用到函数

RADIANS(x) 代表把角度转换为弧度

DEGREES(X) 代表把弧度转化为角度

还记得我们的30 弧度和角度是什么关系,我们有个圆,他的周长就2pi,半径是1的时候,,弧度和角度的关系就是,角度对应的周长,比如pi/4就是对应90度的弧度.所以代表的含义就是角度除以360*2pi.

函数 用法

SIN(x) 返回x的正弦值,其中,参数x为弧度值

ASIN(x) 返回x的反正弦值,即获取正弦为x的值。如果x的值不在-1到1之间,则返回NULL

COS(x) 返回x的余弦值,其中,参数x为弧度值

ACOS(x) 返回x的反余弦值,即获取余弦为x的值。如果x的值不在-1到1之间,则返回NULL

TAN(x) 返回x的正切值,其中,参数x为弧度值

 ATAN(x)返回x的反正切值,即返回正切值为x的值

ATAN2(m,n) 返回两个参数的反正切值

COT(x) 返回x的余切值,其中,X为弧度值 举例

这里的30代表得到就是角度,我们要先用radians转化为弧度,然后结果就是我们的sin值

这里的degrees代表的把弧度转化为角度,这里asin代表的就是把值对应的弧度求出来,求出来的的是弧度我们就要用degrees转化为角度值

SELECT

SIN(RADIANS(30)),DEGREES(ASIN(1)),TAN(RADIANS(45)),DEGREES(ATAN(1)),DEGREES(ATAN2(1,1) ) FROM DUAL

指数和对数函数

POW(x,y) POWER(X,Y) 返回x的y次方,

这个函数我们倒是经常用到,比如我们要求2的2次方,就可以用

EXP(X) 返回e的X次方,其中e是一个常数,2.718281828459045

LN(X),LOG(X)返回以e为底的X的对数,当X <= 0 时,返回的结果为NULL

LOG10(X) 返回以10为底的X的对数,当X <= 0 时,返回的结果为NULL

LOG2(X) 返回以2为底的X的对数,当X <= 0 时,返回NUL

SELECT POW(2,5),POWER(2,4),EXP(2),LN(10),LOG10(10),LOG2(4) FROM DUAL

进制的装换

BIN(x) 返回x的二进制编码

HEX(x) 返回x的十六进制编码

 OCT(x) 返回x的八进制编码

 CONV(x,f1,f2) 返回f1进制数变成f2进制数

SELECT BIN(10),HEX(10),OCT(10),CONV(10,2,8) FROM DUAL;

Conv可以把2进制的数变化为8进制的数这里的含义是

这里面我们比较常用的还是上面的基本函数

字符串函数:

字符串函数在编程语言里都是一类非常重要的变量,所以和字符串相关的函数就比较多,也相对比较重要一些,首先我们也是来一波一波讲解

虽然我们没有正式的讲解mysql里的数字类型,但是大家从我们的数据里也可以发现,我们的mysq里比较重要的几个类型,数值类型,分为整形和浮点型,还有我们的字符串类型,分为短字符串和长字符串类型,还有我们的日期类型,回头我们再展开说,

ASCII(S)

第一个是ASCII(S) 这个和asc码用的是一样的

这里面的ASCII函数只和第一个字母有关,它只会返回第一个字符的ASC码

CHAR_LENGTH(s) 这里我们写两个函数

这里就涉及到字符集的时候,hello是一个字符用一个字节去储存就好,字母就是用一个字节储存的,所以这块就是5,这里为什么你好的字节就是6,因为汉字代表的就是3个字节来储存,的如果用的CHAR_lenth代表的就是我们有结果字

Concat(s1,s2,s3)代表的就是会把s1,s2,s3都链接起来

SELECT CONCAT('你好','我是一个好人',T1.last_name,'是',T2.last_name,'的员工')

FROM employees T1 JOIN employees T2

ON T1.employee_id=T2.manager_id

CONCAT_WS(s1,s2,s3,s4)它代表的就是会把s1插入s2,s3,s4之间,就像s2s1s3s1s4s1

INSERT(str,idx,len,replacestr) 这里正常是插入的意思,但是这里不是,这里代表从第二个参数开始,一共第三个参数的长度,替换成后面的字符串

SELECT INSERT(‘helloword’,2,3,’aaaaa’) FROM DUAL

这里就可以看到我们的ell被替换成aaaaa了.

REPLACE(str,str,str)这个我们一看就知道是替换,它是把第一个字符串里的字符串替换为另一个字符串

 

在sql规范里我们是对字符串里的值是应该区分大小写的,比如我们要查询一个带大写的KING,但是有些是king,有些是KING,我们要都查询出来,我们就可以把它LOWER(‘KING’)=’king’,但是mysql的规范就不是特别严谨,加不加就没什么意义了

Left(str,len)对字符串左边提取len长度的字符

RIGHT(sty,LEN)对字符串右边提取LEN长度的字符

这里我们就可以提取了

LPAD(salary,10,’*’)可以实现右对齐效果

RPAD(salary,10,’*’)可以实现左对齐效果

TRIM(‘    he  el lo   ’)他可以去除字符串首尾的空格

LTRIM(‘    he  el lo   ’)他可以去除字符串左边的空格

RTRIM(‘    he  el lo   ’)他可以去除字符串右边的空格

这里还有一个函数 SELECT TRIM(‘0’FROM’011653.sd0’) FROM DUAL

他比较灵活,可以替换你想要替换的前后字符串.

REPEAT 代表的就是重复,可以把第一个字符串重复多少次

SPACE(len)返回len长度个空格

STRCMP(S1,S2),比较前面的字符串和后面的字符串那个大,如果前面的大,就返回1,后面大就返回-1

SUBSTR(s,index,len)从index开始取len个字符

LOCATE(Substr,STR)返回字符串substr在str中出现的位置,第一次出现的位置,如果没有的话就返回0,如果是java就会返回-1,因为java是从0开始索引,sql是从1开始所以会返回0

ELT(m,s1,s2,…,sn)返回指定m位置的字符串,如果m=1,返回s1,m=n,返回sn,m是数值

FIELD(m,s1,s2,…sn)返回指定的字符串,m是字符串,,如果m等于s1,就返回1,如果等于sn就返回n

FIND_IN_SET(s1,’s1,s2,s3,s4’)如果s1=s2,那么就返回1

NULLIF(a,b)如果a和b相等,那么就返回空NULL,如果不相等就返回a

SELECT employee_id,NULLIF(LENGTH(last_name),LENGTH(first_name)) FROM employees

日期和时间函数

我们之前说了最重要的三个类型,数值,字符串,时间类型,我们是说我们要储存日志或者订单的表,都要把时间储存到表里,

获取时间的

日期和时间戳装换

获取月份星期,星期数,天数等函数

日期的操作函数,extract,也是剥离年月日时分秒的

时间和秒钟的转换函数

计算日期和时间的函数,(在现有的基础加几天,减几天,计算时间差值等)

比如时间达到一千天之类的有实际的函数

日期的格式化与解析的问题,其他的语言也会存在一些这种操作.我们往大体去说都说了一小会,大家下来自己可以去测试一下.

我们先看

获取日期和时间的函数

SELECT CURDATE(),CURTIME(),NOW(),SYSDATE()+0,UTC_DATE(),UTC_DATE()+0,UTC_TIME(),UTC_TIME()+0 FROM DUAL;

这里我们记住一个就行找个比较短的,世界时间和我们差8个销售,所以加8个小时就和我们的时间一致了,第一波还是比较柔和的

获取当前的年月日和时分秒就要用这些函数

日期和时间戳的转换

我们先SELECT UNIX_TIMESTAMP(now())可以把时间转换为时间戳

也不难,我们去保存时间也很多都会把时间保存为时间戳加一些其他的信息,作为订单号

获取月份日期,星期天数等函数

这里WEEKDAY返回的周一是0

下面dayofyear返回的是年的第几天,weekofyear就是一年的第几周

我们直接测试一下

SELECT YEAR(CURDATE()),MONTH(CURDATE()),DAY(CURDATE()), HOUR(CURTIME()),MINUTE(NOW()),SECOND(SYSDATE()) FROM DUAL;

这里比较简单,我们就直接看,

SELECT MONTHNAME('2021-10-26'),DAYNAME('2021-10-26'),WEEKDAY('2021-10-26'), QUARTER(CURDATE()),WEEK(CURDATE()),DAYOFYEAR(NOW()), DAYOFMONTH(NOW()),DAYOFWEEK(NOW()) FROM DUAL

这里日期的字符串如果和日期的默认格式相同,就会把字符串转化为时间格式

这里因为是周二所以weekday返回的是1,

第4个季度,今年的41周.290天,这个月的16天这周的第4天

日期的操作函数

这里的type给了我们很多丰富的写法

首先我们来写一个 SELECT EXTRACT(DAY FROM NOW()),EXTRACT(year FROM NOW())

主要就看我们想判断当前的时间我们就直接now,如果要指定的时间,就直接写’yyyy-mm-dd hh:ss:mm’

时间和秒钟的转化函数

SELECT TIME_TO_SEC(NOW()),SEC_TO_TIME(TIME_TO_SEC(NOW()))

计算日期和时间的函数

我们看名字就可以知道这是对时间进行一个加减的操作

 

这里interval是添加的意思,我们加1就是加了一年,如果加-1就是减了一年

下面我们也举了个例子

第一个我们加了1天,第二个我们就爱了1分钟第等,这里面的1_1假如单位代表了年,1_1代表的就是添加1年一个月

SELECT DATE_ADD(NOW(), INTERVAL 1 DAY) AS col1,DATE_ADD('2021-10-21 23:32:12',INTERVAL

1 SECOND) AS col2,

 ADDDATE('2021-10-21 23:32:12',INTERVAL 1 SECOND) AS col3,

 DATE_ADD('2021-10-21 23:32:12',INTERVAL '1_1' MINUTE_SECOND) AS col4,

 DATE_ADD(NOW(), INTERVAL -1 YEAR) AS col5, #可以是负数

DATE_ADD(NOW(), INTERVAL '1_1' YEAR_MONTH) AS col6 #需要单引号

FROM DUAL;

 SELECT ADDTIME(NOW(),20),SUBTIME(NOW(),30),SUBTIME(NOW(),'1:1:3'),DATEDIFF(NOW(),'2021-10 01'), TIMEDIFF(NOW(),'2021-10-25 22:10:10'),FROM_DAYS(366),TO_DAYS('0000-12-25'), LAST_DAY(NOW()),MAKEDATE(YEAR(NOW()),12),MAKETIME(10,21,23),PERIOD_ADD(20200101010101, 10) FROM DUAL;

比如我们需要查看用户在7天之内是否注册就可以使用datediff查看差几天,还有timediff可以查看查了多少时间,to_DAY大家可能会觉得为什么要和0000年1月1日的时间差,我们可以拿它当中间值作为标准对比2个时间相差的天数,然后用函数计算.

下面交lastday,返回现在这个月的最后一天,makedate,如果给了2023年,和12,就会返回2023年1月12日也就是2023年的第12天,maketime,将给定的小时分钟秒钟的字符串返回一个日期格式的

这里我们如果

日期的格式化和解析

日期的格式化,把日期转化为字符串这就是格式化

解析:字符串转化为日期

这时我们谈的是日期的显式格式化和解析

之前我们接触的是隐式的格式化和解析

SELECT * FROM WHERE HIRE_DATE=’2019-01-13’

这里其实就会对’2019-01-13进行一个解析,把字符串转换为日期格式,然后去字段里寻找相同的日期.

’ SELECT * FROM WHERE HIRE_DATE=’asds-01-13’ 就会报错;1

如果我们的月日在前面,那就必须进行显示的转换,比如’05-03-2019

’这里我们先看上面的两个,也就是格式化

我们要按照这里的格式来写我们的日期格式

比如SELECT DATE_FORMAT(CURDATE(),'%Y-%M你%D')

这里就是比较标准的日期

下面是时间SELECT DATE_FORMAT(CURtime(),'%H:%i我的秒数%s')

这个是比较标准的时间

还有其他的日期

现在还有日期格式化的逆过程

SELECT

str_TO_DATE('2024-10-16 04:08:00 周3 英文周几Wednesday  今年的第42周','%Y-%m-%d %H:%i:%s 周%w 英文周几%W  今年的第%u周')

我们就可以把一个很复杂的花样字符串转换为日期

现在我们来说函数GET_FORMAT(DATE,USA)

他本质是获得一种格式,大家看最后的结果是不是类似我们的日期格式化参数里的fmr

所以我们是可以直接调用GET_FORMAT,来写DATE_FORMAT

SELECT DATE_FORMAT(CURDATE(),GET_FORMAT(DATE,'USA'))

GET_FORMAT的效果就是怕大家忘记格式,就可以直接用这个函数来获取日期格式化格式.

大家可以发现这一节是比较重的,说的内容也比较多,所以希望大家可以重视.需要大家掌握和注意的

1获取日期时间,时间戳,比如now(),curtime curdate,

 

2还有时间间隔的函数

3还有格式化日期的函数

流程控制类函数

任何一门语言都会有流程控制函数,if for,这种,mysql也不例外

SELECT last_name,salary,if(salary>=6000,'高工资','低工资') FROM employees

SELECT if(commission_pct is NULL,0,commission_pct) FROM employees

IFNULL(value,value)可以看成是iF结结构的特殊情况

其实就是前面判断条件被忽略了,就是是否为空的条件.很明显if是比较灵活的

我们来看CASE WHEN THEN

SELECT last_name,CASE

       WHEN salary>15000 THEN

              '白骨精'

  WHEN salary>10000 THEN

  '潜力股'

       ELSE

  '草根'

END '别名' FROM employees;

就是在各种条件下对字段进行修改,也可以进行

类似python里的if elif elif else

如果我们忽略else的写法,其他情况就都会变成空

SELECT last_name, job_id, salary,

 CASE job_id WHEN 'IT_PROG'  THEN  1.10*salary

 WHEN 'ST_CLERK' THEN  1.15*salary

 WHEN 'SA_REP'   THEN  1.20*salary

 ELSE     

salary END    

FROM   employees;

我们说别的语言的都有分支结构,循环结构之类的.我们这边说的都是分支结构,那么循环呢,

其实是因为我们sql已经自带循环了,因为我们运行是不是要一个表里的107行都得轮流运行.

我们之后在存储函数的时候我们再进行循环

加密和解密函数.

随着流程控制函数的完结,前面比较重要的函数都已经说完了,因为我们最重要的数值,字符串,时间格式的字段是最重要的。而流程控制函数在我们运行中也经常会使用到。所以重要的内容已经几乎完结了,接下来大家就做了解就可以了。

加密和解密就很清晰了,我们用户名和密码是这些不希望被他人获取的字段,我们就可以进行加密操作。这些信息就可以用到用户表里,用户的密码如何加密呢,在这个数据库里我们如何进行加密呢,如果黑客通过非法手段获取这个表没有加密不就完蛋了。2009年csdn就出现了这个丑闻,它居然是用明文保存的数据库用户密码,显然是十分不应该的。

那我们在发给后台的时候,我们的加密操作,完全可以前置到客户端发送的过程中,相当于我们这只是给了一种给数据端加密的过程,

这里我们用的是8.0,里面已经把password抛弃的了

Mysql5.7则还在使用

SELECT MD5(‘mysql’),SHA(‘mysql’) FROM DUAL

这里面说SHA比我们MD5更加的安全,这里的字符串是不可逆的,我们是不能通过这个字符串变回原来的,这里我们可能会纳闷,我们的密码是mysql,怎么证明我们能登录成功,那就是因为我们MD5得到了这个字符串,这个字符串和保存的内容是一致的那就保证了你可以登录,如果我是一个黑客,得到了一个加密的字符串,也没有用,我输入进来,数据库会对他再次进行MD5加密,还是不能登录我们的账户.

还有一个函数ENCODE和DECODE,这个是可逆的加密解密,它也是在我们的mysql8.0中不可用了,在我们的mysql5.7中还是可以运行的.

这里就是根据暗文你好来对mysql进行解密.

mysql的信息函数,

相对而言比较简单就是信息.

.

SELECT USER(), CURRENT_USER(), SYSTEM_USER(),SESSION_USER(),CHARSET('ABC'),COLLATION('ABC');

比如你要开发一个客户端,我们都要用这个函数来获取,我们的版本,之类相关的信息

最后我们的其他函数:

SELECT FORMAT(123.123, 2), FORMAT(123.523, 0), FORMAT(123.123, -2);

这里如果n等于或者小于0就自保留整数,和ROUND的四舍五入不太一样.

下面是我们得到一个ip地址的转换,因为我们ip地址会尽量保存为整数格式,类似与加密过程, 以“192.168.1.100”为例,计算方式为192乘以256的3次方,加上168乘以256的2次方,加上1乘以256,再加上 100得到这个数.

我们可以通过下面的函数INET_NTOA来还原回去

SELECT BENCHMARK(count,expr)可以对一个功能执行count次来查看我们的表达式的执行时间,也就是查看效率

SELECT CHARSET('收到撒娇的'),CHARSET(CONVERT('atguigu'USING'GBK'))

这个函数就可以实现字符集的装换,这个因为我们客户端有时候字符集不一样就要进行转化,如果我们约定好的不是utf8,那就要进行装换了.这一章还是很重的,大家必要的时候还是要做一下练习.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/454656.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FileLink内外网文件交换——致力企业高效安全文件共享

随着数字化转型的推进&#xff0c;企业之间的文件交流需求日益增加。然而&#xff0c;传统的文件传输方式往往无法满足速度和安全性的双重要求。FileLink作为一款专注于跨网文件交换的工具&#xff0c;致力于为企业提供高效、安全的文件共享解决方案。 应用场景一&#xff1a;项…

C++大沥2019年真题——数字圈

Hi&#xff01;大家好&#xff01;Im#张亿&#xff0c;今天来讲C大沥2019年真题——数字圈 题目描述 当我们写数字时会发现有些数字有封闭区域&#xff0c;有的数字没有封闭区域。 数字 0 有一个封闭区域&#xff0c;数字 1、2、 3 都没有封闭区域&#xff0c;数字 4 有一个封…

word中的内容旋转90度

在vsto、Aspose.Words 中&#xff0c;默认没有直接的 API 可以让表格整体旋转 90 度。然而&#xff0c;我们可以通过一些方式来实现类似的效果&#xff0c;具体思路如下&#xff1a; 将表格插入到一个形状&#xff08;Shape&#xff09;或文本框中&#xff0c;然后旋转该形状。…

《RECONX: RECONSTRUCT ANY SCENE FROM SPARSEVIEWS WITH VIDEO DIFFUSION MODEL》论文阅读

论文地址&#xff1a;https://arxiv.org/pdf/2408.16767 项目地址&#xff1a;GitHub - liuff19/ReconX: ReconX: Reconstruct Any Scene from Sparse Views with Video Diffusion Model ---------------------------------------------------------------------------------…

2019年计算机网络408真题解析

第一题&#xff1a; 解析&#xff1a;OSI参考模型第5层完成的功能 首先&#xff0c;我们需要对OSI参考模型很熟悉&#xff1a;从下到上依次是&#xff1a;物理层-数据链路层-网络层- 运输层-会话层-表示层-应用层&#xff0c;由此可知&#xff0c;题目要问的是会话层的主要功能…

什么是感知与计算融合?

感知与计算融合&#xff08;Perception-Computing Fusion&#xff09;是指将感知技术&#xff08;如传感器、摄像头等&#xff09;与计算技术&#xff08;如数据处理、人工智能等&#xff09;有机结合&#xff0c;以实现对环境的更深层次理解和智能反应的过程。该技术广泛应用于…

基于SSM品牌银饰售卖系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;促销活动管理&#xff0c;饰品管理&#xff0c;我的收藏管理&#xff0c;系统管理&#xff0c;订单管理 用户账号功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;…

新书速览|Android智能座舱开发:从源码到实践

《Android智能座舱开发:从源码到实践》 本书内容 《Android智能座舱开发:从源码到实践》是一本专注于Android智能座舱系统开发与优化的实战指南。《Android智能座舱开发:从源码到实践》共9章&#xff0c;第1章从搭建源码编译环境开始&#xff0c;详细指导读者如何下载和编译An…

活体人脸识别技术总结及实践

文章目录 1、背景2、人脸反伪装技术2.1 活体人脸识别常见模式2.2 学术上反伪装研究 3、工程实现3.1 Silent-Face3.2 Silent-Face模型转rknn3.3 Silent-Face模型的限制 1、背景 1.1 什么是活体检测&#xff1f; 在人脸识别之前&#xff0c;先判断一下屏幕前摄像头捕捉到的人脸是…

深度解析RLS(Recursive Least Squares)算法

目录 一、引言二、RLS算法的基本思想三、RLS算法的数学推导四、RLS算法的特点五、RLS算法的应用场景六、RLS算法的局限性七、总结 一、引言 在自适应滤波领域&#xff0c;LMS&#xff08;Least Mean Squares&#xff09;算法因其计算简单、实现方便而广受欢迎。然而&#xff0…

【leetcode|哈希表、动态规划】最长连续序列、最大子数组和

目录 最长连续序列 解法一&#xff1a;暴力枚举 复杂度 解法二&#xff1a;优化解法一省去二层循环中不必要的遍历 复杂度 最大子数组和 解法一&#xff1a;暴力枚举 复杂度 解法二&#xff1a;贪心 复杂度 解法三&#xff1a;动态规划 复杂度 最长连续序列 输入输…

【数据结构与算法】时间、空间复杂度详解

大家有没有遇到过&#xff0c;为什么有些程序跑得飞快&#xff0c;而有些程序却慢得让人抓狂&#xff1f;我们可能都是这样认为的&#xff1a;他写的程序效率高等等&#xff0c;确实如此。但这背后隐藏着两个重要的概念&#xff1a;时间复杂度和空间复杂度。它们就像程序的“效…

算法题总结(十九)——图论

图论 DFS框架 void dfs(参数) { if (终止条件) {存放结果;return; }for (选择&#xff1a;本节点所连接的其他节点) {处理节点;dfs(图&#xff0c;选择的节点); // 递归回溯&#xff0c;撤销处理结果 } }深搜三部曲 确认递归函数&#xff0c;参数确认终止条件处理目前搜索节…

Windows系统启动MongoDB报错无法连接服务器

文章目录 发现问题解决办法 发现问题 1&#xff09;、先是发现执行 mongo 命令&#xff0c;启动报错&#xff1a; error: MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017&#xff1b; 2&#xff09;、再检查 MongoDB 进程 tasklist | findstr mongo 发现没有进程&a…

爬虫基础--requests模块

1、requests模块的认识 requests模块的认识请跳转到 requests请求库使用_使用requests库-CSDN博客 2、爬取数据 这里我们以b站动漫追番人数为例。 首先进去b站官网 鼠标右键点击检查或者键盘的F12&#xff0c;进入开发者模式。&#xff08;这里我使用的是谷歌浏览器为例&#…

【JVM】—深入理解G1回收器—回收过程详解

深入理解G1回收器—回收过程详解 ⭐⭐⭐⭐⭐⭐ Github主页&#x1f449;https://github.com/A-BigTree 笔记链接&#x1f449;https://github.com/A-BigTree/Code_Learning ⭐⭐⭐⭐⭐⭐ 如果可以&#xff0c;麻烦各位看官顺手点个star~&#x1f60a; 文章目录 深入理解G1回收…

基于PERL语言的MS中CASTEP模块批量提交计算脚本

在现代科学研究中&#xff0c;高效的计算工具对于推动科研进步具有不可估量的价值。为了满足广大科研工作者在材料科学、化学、物理等领域日益增长的计算需求&#xff0c;我们特别推出了一款基于Perl语言的MS CASTEP模块批量提交计算脚本。 一、批量提交&#xff0c;高效处理 …

Vulnhub打靶-Empire-LupinOne

基本信息 靶机下载&#xff1a;https://download.vulnhub.com/empire/01-Empire-Lupin-One.zip 攻击机器&#xff1a;192.168.20.128&#xff08;Windows操作系统&#xff09;& 192.168.20.138&#xff08;kali&#xff09; 提示信息&#xff1a; 这个盒子被创建为中等…

RNN,LSTM,GRU的区别和联系? RNN的梯度消失问题?如何解决?

RNN&#xff0c;LSTM&#xff0c;GRU的区别和联系? RNN&#xff08;Recurrent Neural Network&#xff09;、LSTM&#xff08;Long Short-Term Memory&#xff09;和GRU&#xff08;Gated Recurrent Unit&#xff09;都是用于处理序列数据的神经网络模型&#xff0c;它们之间…

《黑神话悟空》各章节boss顺序汇总

第一章BOSS顺序&#xff1a; 1、牯护院&#xff1a;犀牛精&#xff0c;位于苍狼岭娟&#xff0c;击败后能获得定身术。 2、广智&#xff1a;火刀狼&#xff0c; 位于观音禅院&#xff0c;击败后获得广智变身&#xff0c;记得敲钟。 3、蓝皮幽魂&#xff1a;蓝皮大头&#xff0…