数据库基础篇 《4. 运算符》

news2024/11/15 15:29:02

目录

1. 算术运算符

1.加法与减法运算符 

 2.乘法与除法运算符

3.求模(求余)运算符

2. 比较运算符

1.等号运算符

2.安全等于运算符

3.不等于运算符

4. 空运算符

5. 非空运算符

6. 最小值运算符

7. 最大值运算符

8. BETWEEN AND运算符

9. IN运算符

11. LIKE运算符

ESCAPE

12. REGEXP运算符

3. 逻辑运算符

1.逻辑非运算符

2.逻辑与运算符

3.逻辑或运算符

4.逻辑异或运算符

4. 位运算符

1.按位与运算符

2. 按位或运算符

3. 按位异或运算符

​编辑 4. 按位取反运算符

5. 按位右移运算符

6. 按位左移运算符

5. 运算符的优先级

​编辑拓展:使用正则表达式查询 

1. 查询以特定字符或字符串开头的记录

2. 查询以特定字符或字符串结尾的记录

3. 用符号"."来替代字符串中的任意一个字符

4. 使用"*"和"+"来匹配多个字符

5. 匹配指定字符串

6. 匹配指定字符中的任意一个

7. 匹配指定字符以外的字符

8. 使用{n,}或者{n,m}来指定字符串连续出现的次数


1. 算术运算符

算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加 (+)、减(-)、乘(*)、除(/)和取模( % )运算。

1.加法与减法运算符 

由运算结果可以得出如下结论:
一个整数类型的值对整数进行加法和减法操作,结果还是一个整数;
一个整数类型的值对浮点数进行加法和减法操作,结果是一个浮点数;
加法和减法的优先级相同,进行先加后减操作与进行先减后加操作的结果是一样的;
Java 中, + 的左右两边如果有字符串,那么表示字符串的拼接。但是在 MySQL + 只表示数
值相加。如果遇到非数值类型,先尝试转成数值,如果转失败,就按 0 计算。(补充: MySQL
中字符串拼接要使用字符串函数 CONCAT() 实现)

 2.乘法与除法运算符

# 计算出员工的年基本工资
SELECT employee_id,salary,salary * 12 annual_sal
FROM employees;  
由运算结果可以得出如下结论:
一个数乘以整数 1 和除以整数 1 后仍得原数;
一个数乘以浮点数 1 和除以浮点数 1 后变成浮点数,数值与原数相等;
一个数除以整数后,不管是否能除尽,结果都为一个浮点数;
一个数除以另一个数,除不尽时,结果为一个浮点数,并保留到小数点后 4 位;
乘法和除法的优先级相同,进行先乘后除操作与先除后乘操作,得出的结果相同。
在数学运算中, 0 不能用作除数,在 MySQL 中,一个数除以 0 NULL

3.求模(求余)运算符

t22表中的字段i35进行求模(求余)运算。  

# 筛选出 employee_id 是偶数的员工
SELECT * FROM employees
WHERE employee_id MOD 2 = 0 ;

可以看到,123求模后的结果为0,对5求模后的结果为2

2. 比较运算符

比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较的结果为真则返回 1 ,比较的结果为假则返回0 ,其他情况则返回 NULL
比较运算符经常被用来作为 SELECT 查询语句的条件来使用,返回符合条件的结果记录。

1.等号运算符

等号运算符(=)判断等号两边的值、字符串或表达式是否相等,如果相等则返回 1 ,不相等则返回 0。
在使用等号运算符时,遵循如下规则:
如果等号两边的值、字符串或表达式都为字符串,则 MySQL 会按照字符串进行比较,其比较的是每个字符串中字符的ANSI 编码是否相等。
如果等号两边的值都是整数,则 MySQL 会按照整数来比较两个值的大小。
如果等号两边的值一个是整数,另一个是字符串,则 MySQL 会将字符串转化为数字进行比较。
如果等号两边的值、字符串或表达式中有一个为 NULL ,则比较结果为 NULL
对比: SQL 中赋值符号使用 :=
1 row in set , 2 warnings ( 0.00 sec)
# 查询 salary=10000 ,注意在 Java 中比较是 ==
SELECT employee_id,salary FROM employees WHERE salary = 10000 ;

2.安全等于运算符

安全等于运算符(<=>)与等于运算符(=)的作用是相似的, 唯一的区别 ‘<=>’ 可 以用来对NULL 进行判断。在两个操作数均为 NULL 时,其返回值为 1 ,而不为 NULL ;当一个操作数为 NULL时,其返回值为0 ,而不为 NULL

# 查询 commission_pct 等于 0.40
SELECT employee_id,commission_pct FROM employees WHERE commission_pct = 0.40 ;
SELECT employee_id,commission_pct FROM employees WHERE commission_pct <=> 0.40 ;
# 如果把 0.40 改成 NULL 呢?
可以看到,使用安全等于运算符时,两边的操作数的值都为 NULL 时,返回的结果为 1 而不是 NULL ,其他返回结果与等于运算符相同。

3.不等于运算符

不等于运算符(<>和 != )用于判断两边的数字、字符串或者表达式的值是否不相等, 如果不相等则返回1 ,相等则返回 0 。不等于运算符不能判断 NULL 值。如果两边的值有任意一个为 NULL ,或两边都为NULL ,则结果为 NULL SQL 语句示例如下:

此外,还有非符号类型的运算符: 

4. 空运算符

空运算符(IS NULL或者 ISNULL )判断一个值是否为 NULL ,如果为 NULL 则返回 1 ,否则返回0。 SQL 语句示例如下:

# 查询 commission_pct 等于 NULL 。比较如下的四种写法
SELECT employee_id,commission_pct FROM employees WHERE commission_pct IS NULL ;
SELECT employee_id,commission_pct FROM employees WHERE commission_pct <=> NULL ;
SELECT employee_id,commission_pct FROM employees WHERE ISNULL(commission_pct);
SELECT employee_id,commission_pct FROM employees WHERE commission_pct = NULL ;
SELECT last_name, manager_id
FROM employees
WHERE manager_id IS NULL ;  

5. 非空运算符

非空运算符(IS NOT NULL)判断一个值是否不为 NULL ,如果不为 NULL 则返回 1 ,否则返回0 SQL 语句示例如下:

 

# 查询 commission_pct 不等于 NULL
SELECT employee_id,commission_pct FROM employees WHERE commission_pct IS NOT NULL ;
SELECT employee_id,commission_pct FROM employees WHERE NOT commission_pct <=> NULL ;
SELECT employee_id,commission_pct FROM employees WHERE NOT ISNULL(commission_pct);  

6. 最小值运算符

语法格式为: LEAST( 1 ,值 2 ... ,值 n) 。其中, n” 表示参数列表中有 n 个值。在有 两个或多个参数的情况下,返回最小值。

由结果可以看到,当参数是整数或者浮点数时, LEAST 将返回其中最小的值;当参数为字符串时,返回字母表中顺序最靠前的字符;当比较值列表中有NULL 时,不能判断大小,返回值为 NULL

7. 最大值运算符

语法格式为: GREATEST( 1 ,值 2 ... ,值 n) 。其中, n 表示参数列表中有 n 个值。当有两个或多个参数时,返回值为最大值。假如任意一个自变量为NULL ,则 GREATEST() 的返回值为 NULL

由结果可以看到,当参数中是整数或者浮点数时, GREATEST 将返回其中最大的值;当参数为字符串时,返回字母表中顺序最靠后的字符;当比较值列表中有NULL 时,不能判断大小,返回值为 NULL

8. BETWEEN AND运算符

BETWEEN 运算符使用的格式通常为 SELECT D FROM TABLE WHERE C BETWEEN A AND B,此时,当 C 大于或等于 A ,并且 C 小于或等于 B 时,结果为 1 ,否则结果为 0

SELECT last_name, salary
FROM employees
WHERE salary BETWEEN 2500 AND 3500 ;

9. IN运算符

IN 运算符用于判断给定的值是否是 IN 列表中的一个值,如果是则返回 1 ,否则返回 0 。如果给定的值为NULL ,或者 IN 列表中存在 NULL ,则结果为 NULL

SELECT employee_id, last_name, salary, manager_id
FROM employees
WHERE manager_id IN ( 100 , 101 , 201 ) 

11. LIKE运算符

LIKE 运算符主要用来匹配字符串,通常用于模糊匹配,如果满足条件则返回 1 ,否则返回 0。如果给定的值或者匹配条件为 NULL ,则返回结果为 NULL
LIKE 运算符通常使用如下通配符:
“%” :匹配 0 个或多个字符。
“_” :只能匹配一个字符。  

SQL语句示例如下

SELECT first_name
FROM employees
WHERE first_name LIKE 'S%' ;
SELECT last_name
FROM employees
WHERE last_name LIKE '_o%' ; 

ESCAPE

回避特殊符号的: 使用转义符 : \  。例:将 [%] 转为 [$%] [] 转为 [$] ,然后再加上 [ESCAPE‘$’] 即可
SELECT job_id
FROM jobs
WHERE job_id LIKE ‘IT\_%‘;

12. REGEXP运算符

REGEXP 运算符用来匹配字符串,语法格式为: expr REGEXP 匹配条件 。如果 expr 满足匹配条件,返回1;如果不满足,则返回 0 。若 expr 或匹配条件任意一个为 NULL ,则结果为 NULL

REGEXP运算符在进行匹配时,常用的有下面几种通配符:  

1 ‘^’ 匹配以该字符后面的字符开头的字符串。
2 ‘$’ 匹配以该字符前面的字符结尾的字符串。
3 ‘.’ 匹配任何一个单字符。
4 “[...]” 匹配在方括号内的任何字符。例如, “[abc]” 匹配 “a” “b” “c” 。为了命名字符的范围,使用一
‘-’ “[a-z]” 匹配任何字母,而 “[0-9]” 匹配任何数字。
5 ‘*’ 匹配零个或多个在它前面的字符。例如, “x*” 匹配任何数量的 ‘x’ 字符, “[0-9]*” 匹配任何数量的数字,
“*” 匹配任何数量的任何字符。 

 SQL语句示例如下:

 

3. 逻辑运算符

逻辑运算符主要用来判断表达式的真假,在 MySQL 中,逻辑运算符的返回结果为 1 0 或者 NULL
MySQL 中支持 4 种逻辑运算符如下:

1.逻辑非运算符

逻辑非( NOT ! )运算符表示当给定的值为 0 时返回 1 ;当给定的值为非 0 值时返回 0 ; 当给定的值为NULL 时,返回 NULL

SELECT last_name, job_id
FROM employees
WHERE job_id NOT IN ( 'IT_PROG' , 'ST_CLERK' , 'SA_REP' );  

2.逻辑与运算符

逻辑与(AND或 && )运算符是当给定的所有值均为非 0 值,并且都不为 NULL 时,返回1;当给定的一个值或者多个值为 0 时则返回 0 ;否则返回 NULL

SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary >= 10000
AND job_id LIKE '%MAN%' ; 

3.逻辑或运算符

逻辑或(OR或 || )运算符是当给定的值都不为 NULL ,并且任何一个值为非 0 值时,则返回1 ,否则返回 0 ;当一个值为 NULL ,并且另一个值为非 0 值时,返回 1 ,否则返回 NULL ;当两个值都为 NULL时,返回 NULL

# 查询基本薪资不在 9000-12000 之间的员工编号和基本薪资
SELECT employee_id,salary FROM employees
WHERE NOT (salary >= 9000 AND salary <= 12000 );
SELECT employee_id,salary FROM employees
WHERE salary < 9000 OR salary > 12000 ;
SELECT employee_id,salary FROM employees
WHERE salary NOT BETWEEN 9000 AND 12000 ;
SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary >= 10000
OR job_id LIKE '%MAN%' ; 
注意:
OR 可以和 AND 一起使用,但是在使用时要注意两者的优先级,由于 AND 的优先级高于 OR ,因此先对AND 两边的操作数进行操作,再与 OR 中的操作数结合 

4.逻辑异或运算符

逻辑异或(XOR)运算符是当给定的值中任意一个值为 NULL 时,则返回 NULL ;如果 两个非NULL 的值都是 0 或者都不等于 0 时,则返回 0 ;如果一个值为 0 ,另一个值不为 0 时,则返回 1

 

select last_name,department_id,salary
from employees
where department_id in ( 10 , 20 ) XOR salary > 8000 ;  

4. 位运算符

位运算符是在二进制数上进行计算的运算符。位运算符会先将操作数变成二进制数,然后进行位运算,最后将计算结果从二进制变回十进制数。 MySQL支持的位运算符如下:

1.按位与运算符

按位与(&)运算符将给定值对应的二进制数逐位进行逻辑与运算。当给定值对应的二进制位的数值都为1 时,则该位返回 1 ,否则返回 0

1 的二进制数为 0001 10 的二进制数为 1010 ,所以 1 & 10 的结果为 0000 ,对应的十进制数为 0 20 的二进制数为10100 30 的二进制数为 11110 ,所以 20 & 30 的结果为 10100 ,对应的十进制数为 20

2. 按位或运算符

按位或(|)运算符将给定的值对应的二进制数逐位进行逻辑或运算。当给定值对应的二进制位的数值有一个或两个为1 时,则该位返回 1 ,否则返回 0

1 的二进制数为 0001 10 的二进制数为 1010 ,所以 1 | 10 的结果为 1011 ,对应的十进制数为 11 20 的二进制数为10100 30 的二进制数为 11110 ,所以 20 | 30 的结果为 11110 ,对应的十进制数为 30

3. 按位异或运算符

按位异或(^)运算符将给定的值对应的二进制数逐位进行逻辑异或运算。当给定值对应的二进制位的数值不同时,则该位返回1 ,否则返回 0

 

1 的二进制数为 0001 10 的二进制数为 1010 ,所以 1 ^ 10 的结果为 1011 ,对应的十进制数为 11 20 的二进制数为10100 30 的二进制数为 11110 ,所以 20 ^ 30 的结果为 01010 ,对应的十进制数为 10
再举例

 4. 按位取反运算符

按位取反(~)运算符将给定的值的二进制数逐位进行取反操作,即将1变为0,将0变为1

由于按位取反(~)运算符的优先级高于按位与(&)运算符的优先级,所以 10 & ~1 ,首先,对数字 1 进 行按位取反操作,结果除了最低位为0 ,其他位都为 1 ,然后与 10 进行按位与操作,结果为 10

5. 按位右移运算符

按位右移(>>)运算符将给定的值的二进制数的所有位右移指定的位数。右移指定的位数后,右边低位的数值被移出并丢弃,左边高位空出的位置用0 补齐。

1 的二进制数为 0000 0001 ,右移 2 位为 0000 0000 ,对应的十进制数为 0 4 的二进制数为 0000 0100 ,右移 2位为0000 0001 ,对应的十进制数为 1

6. 按位左移运算符

按位左移(<<)运算符将给定的值的二进制数的所有位左移指定的位数。左移指定的位数后,左边高位的数值被移出并丢弃,右边低位空出的位置用0 补齐。

1 的二进制数为 0000 0001 ,左移两位为 0000 0100 ,对应的十进制数为 4 4 的二进制数为 0000 0100 ,左移两位为0001 0000 ,对应的十进制数为 16

5. 运算符的优先级

拓展:使用正则表达式查询 

正则表达式通常被用来检索或替换那些符合某个模式的文本内容,根据指定的匹配模式匹配文本中符合 要求的特殊字符串。例如,从一个文本文件中提取电话号码,查找一篇文章中重复的单词或者替换用户 输入的某些敏感词语等,这些地方都可以使用正则表达式。正则表达式强大而且灵活,可以应用于非常 复杂的查询。
MySQL 中使用 REGEXP 关键字指定正则表达式的字符匹配模式。下表列出了 REGEXP 操作符中常用字符匹配列表

1. 查询以特定字符或字符串开头的记录

 字符‘^’匹配以特定字符或者字符串开头的文本。

fruits 表中,查询 f_name 字段以字母 ‘b’ 开头的记录, SQL 语句如下:

mysql> SELECT * FROM fruits WHERE f_name REGEXP '^b';  

2. 查询以特定字符或字符串结尾的记录

字符‘$’匹配以特定字符或者字符串结尾的文本。

fruits 表中,查询 f_name 字段以字母 ‘y’ 结尾的记录, SQL 语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP 'y$' ;

3. 用符号"."来替代字符串中的任意一个字符

 字符‘.’匹配任意一个字符。 在fruits表中,查询f_name字段值

包含字母 ‘a’ ‘g’ 且两个字母之间只有一个字母的记录, SQL 语句如下:

mysql> SELECT * FROM fruits WHERE f_name REGEXP 'a.g'; 

4. 使用"*""+"来匹配多个字符

星号‘*’匹配前面的字符任意多次,包括0次。加号‘+’匹配前面的字符至少一次。

fruits 表中,查询 f_name 字段值以字母 ‘b’ 开头且 ‘b’ 后面出现字母 ‘a’ 的记录, SQL 语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP '^ba*' ;
fruits 表中,查询 f_name 字段值以字母 ‘b’ 开头且 ‘b’ 后面出现字母 ‘a’ 至少一次的记录, SQL 语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP '^ba+' ;

5. 匹配指定字符串

正则表达式可以匹配指定字符串,只要这个字符串在查询文本中即可,如要匹配多个字符串,多个字符串之间使用分隔符‘|’隔开。

fruits 表中,查询 f_name 字段值包含字符串 “on” 的记录, SQL 语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP 'on' ;
fruits 表中,查询 f_name 字段值包含字符串 “on” 或者 “ap” 的记录, SQL 语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP 'on|ap' ;
之前介绍过, LIKE 运算符也可以匹配指定的字符串,但与 REGEXP 不同, LIKE 匹配的字符串如果在文本中间出现,则找不到它,相应的行也不会返回。REGEXP 在文本内进行匹配,如果被匹配的字符串在文本中出现,REGEXP 将会找到它,相应的行也会被返回。对比结果如下所示。
fruits 表中,使用 LIKE 运算符查询 f_name 字段值为 “on” 的记录, SQL 语句如下:
mysql> SELECT * FROM fruits WHERE f_name like 'on' ;
Empty set ( 0.00 sec)

6. 匹配指定字符中的任意一个

方括号“[]”指​​​​​​​定一个字符集合,只匹配其中任何一个字符,即为所查找的文本。

fruits 表中,查找 f_name 字段中包含字母 ‘o’ 或者 ‘t’ 的记录, SQL 语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP '[ot]' ;
fruits 表中,查询 s_id 字段中包含 4 5 或者 6 的记录, SQL 语句如下:
mysql> SELECT * FROM fruits WHERE s_id REGEXP '[456]' ;

7. 匹配指定字符以外的字符

 “[^字符集合]” 匹配不在指定集合中的任何​​​​​​​字符。

fruits 表中,查询 f_id 字段中包含字母 a~e 和数字 1~2 以外字符的记录, SQL 语句如下:
mysql> SELECT * FROM fruits WHERE f_id REGEXP '[^a-e1-2]' ;

8. 使用{n,}或者{n,m}来指定字符串连续出现的次数

字符串{n,}”表示至少匹配n次前面的字符;字符串 {n,m}”表示匹配前面的字符串不少于n次,不多于m次。例如,a{2,}表示字母a连续出现至少2次,也可以大于2次;a{2,4}表示字母a连续出现最少2次,最多不能超过4次。

fruits 表中,查询 f_name 字段值出现字母 ‘x’ 至少 2 次的记录, SQL 语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP 'x{2,}' ;
fruits 表中,查询 f_name 字段值出现字符串 “ba” 最少 1 次、最多 3 次的记录, SQL 语句如下:
mysql> SELECT * FROM fruits WHERE f_name REGEXP 'ba{1,3}' ;

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从三室心脏MRI影像检测主动脉瓣病变

Detecting Aortic Valve Pathology from the 3-Chamber Cine Cardiac MRI View 摘要 背景 心脏磁共振(CMR)是量化心脏容量、功能和血流量的金标准。定制的MR脉冲序列定义了对比机制&#xff0c;采集几何形状和定时&#xff0c;可以在CMR期间应用&#xff0c;以实现独特的组织…

进程间通信---管道

进程间通信 概念 进程间通信就是在不同进程之间传播或交换信息数据, 简称IPC&#xff08;Interprocess communication&#xff09;. 意义 数据传输, 资源共享事件通知, 进程控制 本质 让不同的进程看到同一份资源 管道 匿名管道 原理: 匿名管道仅限于本地父子进程之间的…

开放原子训练营(第三季)RT-Thread Nano学习营线下学习心得

前言 目前市面上有很多种RTOS&#xff08;Real-time operating system&#xff0c;实时操作系统&#xff09;&#xff0c;还在犹豫选择学习哪种RTOS的小伙伴&#xff0c;推荐你们学习RT-Thread操作系统&#xff0c;这也是本人最喜欢的一个RTOS&#xff0c;喜欢的原因很简单&am…

[chapter27][PyTorch][Overfitting under fitting]

前言&#xff1a; 机器学习模型性能度量标准之一&#xff1a; 泛化能力 泛化能力强的模型才是好的模型&#xff0c;在评价泛化能力 时候&#xff0c;我们经常遇到过拟合和欠拟合问题 目录&#xff1a; 1&#xff1a; Overfitting 2: underfitting 一 Overfitting refers …

Revit中如何制作一个台阶?

简易台阶制作&#xff0c;比绘制轴线复杂些&#xff0c;运用到的快捷键也比较多&#xff0c;因此需要多多操作&#xff0c;接下来我们就开始吧。 1、开始我们的第一步&#xff0c;此处我们首先新建一个族而不是项目。然后点击公制常规模型。 2、进入族后&#xff0c;我们可以看…

大孔树脂型号,A-722,ADS500,ADS600,ADS750,ADS800

一、产品介绍 基于吸附功能的聚苯乙烯特种树脂 Tulsimer ADS-600 是一款没有离子官能基的&#xff0c;由交联聚苯乙烯合成的功能强大的吸附型树脂。 Tulsimer ADS-600 主要应用于水溶液中吸附酚及其化合物&#xff0c;氯代烃等含氯物质&#xff0c;表面活性剂&#xff0…

苦中作乐 ---竞赛刷题41-50(15-20)

&#xff08;一&#xff09;目录 L1-043 阅览室 L1-044 稳赢 L1-046 整除光棍 L1-048 矩阵A乘以B L1-049 天梯赛座位分配 L1-050 倒数第N个字符串 &#xff08;二&#xff09;题目 L1-043 阅览室 天梯图书阅览室请你编写一个简单的图书借阅统计程序。当读者借书时&…

MES管理系统助力数字化转型,实现智能化制造

MES管理系统不仅可以优化制造流程&#xff0c;还可以整合企业资源&#xff0c;从而提高企业效益。MES管理系统具有数据实时采集、数据分析与决策支持等功能&#xff0c;有利于企业管理层及时掌握生产运营情况&#xff0c;进行战略决策。 对于工厂&#xff0c;MES管理系统…

2023 IT市场权威榜单|美创数据库防火墙斩获“新一代信息技术创新产品”

4月20日&#xff0c;由赛迪顾问主办的“2023 IT市场权威榜单”评选结果正式发布&#xff0c;美创数据库防火墙斩获新一代信息技术创新产品&#xff01; 美创数据库防火墙是一款抵御并消除由于应用程序业务逻辑漏洞或者缺陷所导致的数据库安全问题的专业级数据库安全产品&#x…

【SVN】windows SVN安装使用教程(服务器4.3.4版本/客户端1.11.0版本)

介绍 这里是小编成长之路的历程&#xff0c;也是小编的学习之路。希望和各位大佬们一起成长&#xff01; 以下为小编最喜欢的两句话&#xff1a; 要有最朴素的生活和最遥远的梦想&#xff0c;即使明天天寒地冻&#xff0c;山高水远&#xff0c;路远马亡。 一个人为什么要努力&a…

什么是矩阵式项目管理?

矩阵式项目管理组织&#xff0c;是结构形式呈矩阵状的组织&#xff0c;项目管理人员由企业有关职能部门派出并进行业务指导&#xff0c;受项目经理的直接领导。对于任何从事多个技能要求相似或重叠的项目的企业来说&#xff0c;这是一个理想的策略。 矩阵组织如何运作&#xf…

Windows下版本控制器(SVN) - 1、开发中的实际问题+2、版本控制简介

文章目录 基础知识-Windows下版本控制器(SVN)1、开发中的实际问题2、版本控制简介2.1 版本控制[Revision control]2.2 Subversion2.3 Subversion 的优良特性2.4 SVN 的工作原理&#xff1a;2.5 SVN 基本操作 基础知识-Windows下版本控制器(SVN) 1、开发中的实际问题 小明负责…

虚拟机配置工作环境

一、安装cmake apt-get install cmake 二、配置JAVA环境 1、将这两个文件放入虚拟机文件系统中&#xff0c;拖进去即可 2、执行安装命令./ 3、拉代码svn rootmlw-virtual-machine:~/svnCode# svn --username wangmiaolin co https://10.200.20.20/svn/TIASDev/Devsrc/Branch…

docker容器:Docker-Compose

目录 一、Docker-Compose 1、Docker-Compose使用场景 2、Docker-Compose简介 3、Docker-Compose安装部署 4、YML文件编写注意事项 5、Compose配置常用字段 6、 Docker Compose 常用命令 7、Docker Compose 文件结构 8、docker Compose撰写nginx 镜像 9、docker Compos…

了解 WhatsApp 和 WhatsApp Business 之间的区别

实时讯息 app 是所有支援管道中客户满意度最高的一种&#xff0c;且其使用率已大幅攀升。事实上&#xff0c;根据我们的 2021 年客户体验趋势报告&#xff0c;在 2020 年&#xff0c;光是 WhatsApp 的工单量就增加了 101%。 客户想要使用他们惯常与亲友连络用的管道和企业互动…

stm32在SDIO模式下SD写入错误的问题

1、问题描述 使用FAT32 f_write 多次执行写操作时&#xff0c;会报FR_DISK_ERR错误&#xff0c;而且是刚开始写不报错&#xff0c;写几次后会一直报错。 设断点跟踪到HAL_SD_WriteBlocks中&#xff0c;在调用SDMMC_CmdWriteMultiBlock时&#xff0c;会报SDMMC_ERROR_TX_UNDERR…

016:Mapbox GL加载geojson数据,显示line,自定义颜色、宽度等

第016个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中加载geojson数据,显示线条。paint中可以设置的参数:line-blur,line-cap,line-color,line-dasharray,line-gap-width,line-gradient,line-join,line-miter-limit,line-offset,line-opacity,line-…

缓存空间优化实践

导读 缓存 Redis&#xff0c;是我们最常用的服务&#xff0c;其适用场景广泛&#xff0c;被大量应用到各业务场景中。也正因如此&#xff0c;缓存成为了重要的硬件成本来源&#xff0c;我们有必要从空间上做一些优化&#xff0c;降低成本的同时也会提高性能。 下面以我们的案…

【MySQL】数据库完整性和安全性

目录 一、完整性 1.概念 2.sql语言支持的两种约束 2.1静态约束 撤销追加约束 断言 2.3动态约束 触发器 二、安全性 用DBMS对数据库实现的两个特性 一、完整性 1.概念 指dbms保证的db的一种特性&#xff0c;在任何情况下的正确性、有效性、一致性 原理图 广义完整性&…

深度学习第J7周:ResNeXt-50算法思考

目录 一、问题 二、思考分析 &#x1f368; 本文为[&#x1f517;365天深度学习训练营]内部限免文章&#xff08;版权归 *K同学啊* 所有&#xff09; &#x1f356; 作者&#xff1a;[K同学啊] 查看j6周代码&#xff0c;思考解决问题。 一、问题 &#x1f4cc;你需要解决的…