English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MySQL-Operatoren

In diesem Kapitel werden wir die Operatoren und die Priorität der Operatoren in MySQL vorstellen. MySQL hat hauptsächlich folgende Arten von Operatoren:

  • Arithmetischer Operator

  • Vergleichsoperator

  • Logische Operatoren

  • Bit-Operatoren

Arithmetischer Operator

Die arithmetischen Operatoren, die von MySQL unterstützt werden, umfassen:

OperatorWirkung
+Addition
-Subtraktion
*Multiplikation
/ oder DIVDivision
% oder MODRest

In der Division und Modulo-Operation wird der Divisor 0 ein ungültiger Divisor sein, und das Rückgabewert wird NULL sein.

1、Addieren

mysql> select 1+2;
+-----+
| 1+2 |
+-----+
|   3 |
+-----+

2、Subtrahieren

mysql> select 1-2;
+-----+
| 1-2 |
+-----+
|  -1 |
+-----+

3、Multiplizieren

mysql> select 2*3;
+-----+
| 2*3 |
+-----+
|   6 |
+-----+

4、Dividieren

mysql> select 2/3;
+--------+
| 2/3    |
+--------+
| 0.6667 |
+--------+

5、Köper

mysql> select 10 DIV 4;
+----------+
| 10 DIV 4 |
+----------+
|        2 |
+----------+

6、Rest

mysql> select 10 MOD 4;
+----------+
| 10 MOD 4 |
+----------+
|        2 |
+----------+

Vergleichsoperator

Bedingungen in SELECT-Anweisungen müssen oft Vergleichsoperatoren verwenden. Durch diese Vergleichsoperatoren kann bestimmt werden, welche Zeilen im Table den Bedingungen entsprechen. Wenn das Vergleichsergebnis wahr ist, wird 1,wenn falsch, wird 0 zurückgegeben, und wenn das Vergleichsergebnis unbestimmt ist, wird NULL zurückgegeben.

SymbolBeschreibungNotiz
=gleich
<>, !=ungleich
>größer
<kleiner
<=kleiner gleich
>=größer gleich
BETWEENzwischen den beiden Werten>=min&&<=max
NOT BETWEENnicht zwischen den beiden Werten
INim Set
NOT INnicht im Set
<=>strenge Vergleich der Gleichheit zweier NULL-WerteDer Wert, der zurückgegeben wird, wenn beide Operationcodes NULL sind, ist1;wenn ein Operationcode NULL ist, wird der Wert 0 zurückgegeben
LIKEvage Übereinstimmung
REGEXP oder RLIKERegulärer Ausdruck
IS NULLleer
IS NOT NULLnicht leer

1、gleich

mysql> select 2=3;
+-----+
| 2=3 |
+-----+
|   0 |
+-----+
mysql> select NULL = NULL;
+-------------+
| NULL = NULL |
+-------------+
|        NULL |
+-------------+

2、ungleich

mysql> select 2<>3;
+------+
| 2<>3 |
+------+
|    1 |
+------+

3、sicher gleich

Der Unterschied zwischen = und = liegt darin, dass der Wert 0 zurückgegeben wird, wenn beide Operationcodes NULL sind. 1 nicht NULL, und wenn ein Opcode NULL ist, wird der Wert 0 zurückgegeben, nicht NULL.

mysql> select 2<=>3;
+-------+
| 2<=>3 |
+-------+
|     0 |
+-------+
mysql> select null=null;
+-----------+
| null=null |
+-----------+
|      NULL |
+-----------+
        
mysql> select null<=>null;
+-------------+
| null<=>null |
+-------------+
|           1 |
+-------------+

4、kleiner

mysql> select 2<3;
+-----+
| 2<3 |
+-----+
|   1 |
+-----+

5、kleiner gleich

mysql> select 2<=3;
+------+
| 2<=3 |
+------+
|    1 |
+------+

6、größer

mysql> select 2>3;
+-----+
| 2>3 |
+-----+
|   0 |
+-----+

7、größer gleich

mysql> select 2>=3;
+------+
| 2>=3 |
+------+
|    0 |
+------+

8、BETWEEN

mysql> select 5 between 1 and 10;
+--------------------+
| 5 between 1 and 10 |
+--------------------+
|                  1 |
+--------------------+

9、IN

mysql> select 5 in (1,2,3,4,5);
+------------------+
| 5 in (1,2,3,4,5) |
+------------------+
|                1 |
+------------------+

10、NOT IN

mysql> select 5 not in (1,2,3,4,5);
+----------------------+
| 5 not in (1,2,3,4,5) |
+----------------------+
|                    0 |
+----------------------+

11、IS NULL

mysql> select null is NULL;
+--------------+
| null is NULL |
+--------------+
|            1 |
+--------------+
mysql> select 'a' is NULL;
+-------------+
| 'a' is NULL |
+-------------+
|         0 |
+-------------+

12、IS NOT NULL

mysql> select null IS NOT NULL;
+------------------+
| null IS NOT NULL |
+------------------+
|              0 |
+------------------+
        
mysql> select 'a' IS NOT NULL;
+-----------------+
| 'a' IS NOT NULL |
+-----------------+
|               1 |
+-----------------+

13、LIKE

mysql> select '12345' like '12%';
+--------------------+
| ' |12345' like '12%' |
+--------------------+
|                  1 |
+--------------------+
mysql> select '12345' like '12_';
+--------------------+
| ' |12345' like '12_ |
+--------------------+
|                0 |
+--------------------+

14、REGEXP

mysql> select 'beijing' REGEXP 'jing';
+-------------------------+
| 'beijing' REGEXP 'jing' |
+-------------------------+
|                       1 |
+-------------------------+
mysql> select 'beijing' REGEXP 'xi';
+-----------------------+
| 'beijing' REGEXP 'xi' |
+-----------------------+
|                   0 |
+-----------------------+

Logische Operatoren

Logische Operatoren dienen dazu, die Wahrheit oder Falschheit eines Ausdrucks zu beurteilen. Wenn der Ausdruck wahr ist, wird 1。wenn der Ausdruck falsch ist, wird 0 zurückgegeben。

OperationssymbolWirkung
NOT oder !logischer NOT
ANDlogischer UND
ORlogischer ODER
XORlogischer XOR

1、und

mysql> select 2 and 0;
+---------+
| 2 and 0 |
+---------+
|       0 |
+---------+
        
mysql> select 2 and 1;   
+---------+     
| 2 and 1 |      
+---------+      
|       1 |      
+---------+

2、oder

mysql> select 2 or 0;
+--------+
| 2 or 0 |
+--------+
|      1 |
+--------+
mysql> select 2 or 1;
+--------+
| 2 or 1 |
+--------+
|      1 |
+--------+
mysql> select 0 or 0;
+--------+
| 0 or 0 |
+--------+
|      0 |
+--------+
mysql> select 1 || 0;
+--------+
| 1 || 0 |
+--------+
|      1 |
+--------+

3、nicht

mysql> select not 1;
+-------+
| not 1 |
+-------+
|     0 |
+-------+
mysql> select !0;
+----+
| !0 |
+----+
|  1 |
+----+

4、XOR

mysql> select 1 xor 1;
+---------+
| 1 xor 1 |
+---------+
|       0 |
+---------+
mysql> select 0 xor 0;
+---------+
| 0 xor 0 |
+---------+
|       0 |
+---------+
mysql> select 1 xor 0;
+---------+
| 1 xor 0 |
+---------+
|       1 |
+---------+
mysql> select null or 1;
+-----------+
| null or 1 |
+-----------+
|         1 |
+-----------+
mysql> select 1 ^ 0;
+-------+
| 1 ^ 0 |
+-------+
|     1 |
+-------+

Bit-Operatoren

Bit-Operatoren sind Operatoren, die auf binären Zahlen berechnet werden. Bit-Operationen ändern die Operanden zunächst in binäre Zahlen, führen die Bit-Operationen durch und ändern das Ergebnis dann in eine Dezimalzahl zurück.

OperationssymbolWirkung
&bitweise und
|bitweise oder
^bitweise XOR
!invertieren
<<links verschieben
>>rechts verschieben

1、bitweise und

mysql> select 3&5;
+-----+
| 3&5 |
+-----+
|   1 |
+-----+

2、bitweise oder

mysql> select 3|5;
+-----+
| 3|5 |
+-----+
|   7 |
+-----+

3、bitweise XOR

mysql> select 3^5;
+-----+
| 3^5 |
+-----+
|   6 |
+-----+

4、bitweise invertieren

mysql> select ~18446744073709551612;
+-----------------------+
| ~18446744073709551612 |
+-----------------------+
|                     3 |
+-----------------------+

5、bitweise rechts verschieben

mysql> select 3>>1;
+------+
| 3>>1 |
+------+
|    1 |
+------+

6、bitweise links verschieben

mysql> select 3<<1;
+------+
| 3<<1 |
+------+
|    6 |
+------+

Operator-Priorität

Niedrigste Priorität: :=.

Höchste Priorität: !, BINARY, COLLATE.