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

Opérateur MySQL

Dans cette section, nous présentons principalement les opérateurs et la priorité des opérateurs dans MySQL. MySQL possède principalement les types suivants d'opérateurs :

  • Opérateurs arithmétiques

  • Opérateurs de comparaison

  • Les opérateurs logiques

  • Opérateur de calcul binaire

Opérateurs arithmétiques

Les opérateurs arithmétiques pris en charge par MySQL incluent:

opérateurEffet
+addition
-soustraction
*multiplication
/ ou DIVdivision
% ou MODmodulo

Dans les opérations de division et de modulo, si le diviseur est 0, il sera un diviseur illégal, et le résultat de la division retournera NULL.

1、addition

mysql> sélection 1+2;
+-----+
| 1+2 |
+-----+
|   3 |
+-----+

2、soustraction

mysql> sélection 1-2;
+-----+
| 1-2 |
+-----+
|  -1 |
+-----+

3、multiplication

mysql> sélection 2*3;
+-----+
| 2*3 |
+-----+
|   6 |
+-----+

4、division

mysql> sélection 2/3;
+--------+
| 2/3    |
+--------+
、0.6667 |
+--------+

5、quotient

mysql> sélection 10 DIV 4;
+----------+
| 10 DIV 4 |
+----------+
|        2 |
+----------+

6、modulo

mysql> sélection 10 MOD 4;
+----------+
| 10 MOD 4 |
+----------+
|        2 |
+----------+

Opérateurs de comparaison

Les expressions conditionnelles dans les requêtes SELECT utilisent souvent des opérateurs de comparaison. Grâce à ces opérateurs, il est possible de déterminer quels enregistrements d'une table correspondent aux conditions. Si le résultat de la comparaison est vrai, alors retourne 1,si faux, retourne 0, si le résultat de la comparaison n'est pas déterminé, retourne NULL.

SymboleDescriptionRemarque
=égalité
<>, !=inégalité
>supérieur
<inférieur
<=inférieur ou égal
>=supérieur ou égal
BETWEENest entre les deux valeurs> = min && <= max
NOT BETWEENn'est pas entre les deux valeurs
INest dans le jeu
NOT INn'est pas dans le jeu
<=>Comparaison stricte de deux valeurs NULL pour vérifier leur égalitéLorsque les deux opcodes sont NULL, la valeur obtenue est1;et lorsqu'un opcode est NULL, la valeur obtenue est 0
LIKEcorrespondance floue
REGEXP ou RLIKEconcordance de la regex
IS NULLest vide
IS NOT NULLne contient pas de valeurs null

1、égalité

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

2、inégalité

mysql> sélection 2<>3;
+------+
| 2<>3 |
+------+
|    1 |
+------+

3、égalité sécurisée

La différence entre = et = est que lorsque les deux opcodes sont NULL, la valeur obtenue est 1 而不为 NULL,而当一个操作码为 NULL 时,其所得值为 0而不为 NULL。

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

4、小于

mysql> sélection 2<3;
+-----+
| 2<3 |
+-----+
|   1 |
+-----+

5、小于等于

mysql> sélection 2<=3;
+------+
| 2<=3 |
+------+
|    1 |
+------+

6、大于

mysql> sélection 2>3;
+-----+
| 2>3 |
+-----+
|   0 |
+-----+

7、大于等于

mysql> sélection 2>=3;
+------+
| 2>=3 |
+------+
|    0 |
+------+

8、BETWEEN

mysql> sélection 5 between 1 et 10;
+--------------------+
| 5 between 1 et 10 |
+--------------------+
|                  1 |
+--------------------+

9、IN

mysql> sélection 5 in (1,2,3,4,5);
+------------------+
| 5 in (1,2,3,4,5) |
+------------------+
|                1 |
+------------------+

10、NOT IN

mysql> sélection 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 |
+-----------------------+

Les opérateurs logiques

Les opérateurs logiques sont utilisés pour juger de la vérité ou de la fausseté de l'expression. Si l'expression est vraie, le résultat renvoie 1Si l'expression est fausse, le résultat renvoie 0.

Symbole d'opérateurEffet
NOT ou !non logique
ANDet logique
ORou logique
XORou exclusif logique

1et et

mysql> sélection 2 et 0;
+---------+
| 2 et 0 |
+---------+
| 0 | 0 |
+---------+
        
mysql> sélection 2 et 1;   
+---------+     
| 2 et 1 |      
+---------+      
|       1 |      
+---------+

2ou ou

mysql> sélection 2 ou 0;
+--------+
| 2 ou 0 |
+--------+
|      1 |
+--------+
mysql> sélection 2 ou 1;
+--------+
| 2 ou 1 |
+--------+
|      1 |
+--------+
mysql> sélectionner 0 ou 0;
+--------+
| 0 ou 0 |
+--------+
| 0 |
+--------+
mysql> sélection 1 || 0;
+--------+
| 1 || 0 |
+--------+
|      1 |
+--------+

3、Non

mysql> sélection non 1;
+-------+
、Non 1 |
+-------+
| 0 |
+-------+
mysql> sélection !0;
+----+
| !0 |
+----+
|  1 |
+----+

4、Exclusive OR

mysql> sélection 1 xor 1;
+---------+
| 1 xor 1 |
+---------+
| 0 | 0 |
+---------+
mysql> sélection 0 xor 0;
+---------+
| 0 xor 0 |
+---------+
| 0 | 0 |
+---------+
mysql> sélection 1 xor 0;
+---------+
| 1 xor 0 |
+---------+
|       1 |
+---------+
mysql> sélection null ou 1;
+-----------+
| null ou 1 |
+-----------+
|         1 |
+-----------+
mysql> sélection 1 ^ 0;
+-------+
| 1 ^ 0 |
+-------+
|     1 |
+-------+

Opérateur de calcul binaire

Les opérateurs de calcul binaire sont des opérateurs qui opèrent sur des nombres binaires. Les opérations binaire convertiront d'abord les opérateurs en nombres binaires, effectueront des opérations binaire, puis convertiront le résultat en nombre décimal.

Symbole d'opérateurEffet
&Opération binaire et
|Opération binaire ou
^Opération binaire exclusive
!Inversion
<<Déplacement à gauche
>>Déplacement à droite

1、Opération binaire et

mysql> sélection 3&5;
+-----+
| 3&5 |
+-----+
|   1 |
+-----+

2、Opération binaire ou

mysql> sélection 3|5;
+-----+
| 3|5 |
+-----+
|   7 |
+-----+

3、Opération binaire exclusive

mysql> sélection 3^5;
+-----+
| 3^5 |
+-----+
|   6 |
+-----+

4、Inversion binaire

mysql> sélection ~18446744073709551612;
+-----------------------+
| ~18446744073709551612 |
+-----------------------+
|                     3 |
+-----------------------+

5、Déplacement à droite en virgule binaire

mysql> sélection 3>>1;
+------+
| 3>>1 |
+------+
|    1 |
+------+

6、Déplacement à gauche en virgule binaire

mysql> sélection 3<<1;
+------+
| 3<<1 |
+------+
|    6 |
+------+

Priorité des opérateurs

La priorité la plus basse est : :=.

La priorité la plus élevée est : !, BINARY, COLLATE.