Administrator
发布于 2025-11-19 / 2 阅读
0
0

项目3-运算符(11.19)

1.运算符是什么

运算符是运算和操作的符号。

2. 运算符的分类

根据操作数的数量,可以分为三类

  • 一元运算符:操作一个数( ! + - )

  • 二元运算符:操作二个数( )

  • 三元运算符:操作三个数

根据用途,可分为四类

  • 算数运算符

  • 比较运算符

  • 逻辑运算符

  • 位运算符

3. 算数运算符有哪几个

运算符

说明

+

-

*

/

除法运算符

div

整除运算符

%

取余数运算符

MOD(被除数,除数)

取运输运算符

示例

SELECT 1 + 1; -- 2
SELECT "1" + 1; -- 2 MySQL会隐式转换,
SELECT 2 + "2004-11-19"; -- 2006
select "-100" + 2; -- -98
select "+100" + 2; -- 102

4.逻辑运算符的用途

用途:对操作数执行逻辑运算

5.逻辑运算符有哪几个

注意

&& 和 AND

逻辑与

|| 和 OR

逻辑或

!和 NOT

逻辑非

!优先级高于NOT

XOR

逻辑异或

6. 位运算符

用途:对操作数按位执行逻辑运算

运算符

说明

语法

&

按位与(同时为1才为1,否则为0)

x1 & x2

|

按位或(只要有一个为1就是1,否则为0)

x1 | x2

~

按位取反(按位取反)

~x

^

按位异或(只要不同就为1,否则为0)

x1 ^ x2

<<

按位左移,空位补0

x << n ( n表示左移的位数)

>>

按位右移, 空位补0

x >> n ( n表示右移的位数)

7.位运算符的计算过程

对3和2执行按位与的计算:

 SELECT 3 | 2;

第一步:转二进制

0 0 0 0 0 0 1 1
0 0 0 0 0 0 1 0

第二步:执行按位与比较

按位与的规则:同时为1才为1,否则为0

3   :0 0 0 0 0 0 1 1
2   :0 0 0 0 0 0 1 0
结果 :0 0 0 0 0 0 1 0

第三步:转十进制

0 0 0 0 0 0 1 0  -- 2

8.运算符的优先级

优先级

运算符

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

=

记住规则:

  1. 一元运算符优先级最高;赋值运算符优先级最低

  2. 算数运算符 > 位运算符 > 比较运算符 > 逻辑运算符

  3. 逻辑非 > 逻辑与 > 逻辑异或 > 逻辑或

练习题

SELECT 10 + 5 < 30 OR 7 AND 8;
select 15 < 30 OR 7 AND 8;
select 1 OR 7 AND 8;
SELECT 1 OR 1;
​

9. 字符串可以比较吗?

答:可以比较。比较的规则:

  1. 默认不区分大小写;

  2. 比较的是ASCII码

10. NULL值可以运算吗?

答案:分情况,记住规则:

  1. NULL和任何运算符运算,结果都是NULL

11. 比较运算符

运算符

=

相等运算符

<=>

相等运算符(可以比较NULL)

RegExp

正则匹配运算符

12.RegExp运算符的三种用法

^

"ABC" REGEXP "^A"

匹配以A开头

$

"ABC" REGEXP "C$"

匹配以C结尾

.

"ABC" REGEXP ".B"

匹配字符串是否包含B

默认不区分大小写

13.写表达式

-- xx 不大于10
-- xx是偶数
xx <= 10 AND  xx %2 = 0
​
​
xx > 20 AND xx < 80;


评论