Opérateurs MySQL
Dans ce chapitre, nous présentons principalement les opérateurs MySQL et leur priorité. MySQL dispose principalement des types d'opérateurs suivants :- Opérateurs arithmétiques
- Opérateurs de comparaison
- Opérateurs logiques
- Opérateurs bit à bit
Opérateurs arithmétiques
Les opérateurs arithmétiques pris en charge par MySQL incluent :
| Operator | Description |
|---|---|
| + | Addition |
| - | Soustraction |
| * | Multiplication |
| / ou DIV | Division |
| % ou MOD | Modulo |
Dans les opérations de division et de modulo, si le diviseur est 0, il s'agit d'un diviseur illégal et le résultat renvoyé est NULL.
1. Addition
mysql> select 1+2; +-----+ | 1+2 | +-----+ | 3 | +-----+
2. Soustraction
mysql> select 1-2; +-----+ | 1-2 | +-----+ | -1 | +-----+
3. Multiplication
mysql> select 2*3; +-----+ | 2*3 | +-----+ | 6 | +-----+
4. Division
mysql> select 2/3; +--------+ | 2/3 | +--------+ | 0.6667 | +--------+
5. Quotient
mysql> select 10 DIV 4; +----------+ | 10 DIV 4 | +----------+ | 2 | +----------+
6. Reste
mysql> select 10 MOD 4; +----------+ | 10 MOD 4 | +----------+ | 2 | +----------+
Opérateurs de comparaison
Les instructions conditionnelles dans les instructions SELECT utilisent souvent des opérateurs de comparaison. Grâce à ces opérateurs de comparaison, vous pouvez déterminer quels enregistrements de la table remplissent les conditions. Si le résultat de la comparaison est vrai, 1 est renvoyé ; s'il est faux, 0 est renvoyé ; si le résultat de la comparaison est incertain, NULL est renvoyé.
| Symbole | Description | Remarques |
|---|---|---|
| = | Égal à | |
| <>, != | Différent de | |
| > | Supérieur à | |
| < | Inférieur à | |
| <= | Inférieur ou égal à | |
| >= | Supérieur ou égal à | |
| ENTRE | Entre deux valeurs | >=min&&<=max |
| NOT BETWEEN | Pas entre deux valeurs | |
| IN | Dans un ensemble | |
| NOT IN | Pas dans un ensemble | |
| <=> | Comparer strictement si deux valeurs NULL sont égales | Lorsque les deux opérandes sont NULL, le résultat est 1 ; lorsqu'un opérande est NULL, le résultat est 0. |
| LIKE | Correspondance floue | |
| REGEXP ou RLIKE | Correspondance d'expression régulière | |
| IS NULL | Est NULL | |
| IS NOT NULL | N'est pas NULL |
1. Égal à
mysql> select 2=3; +-----+ | 2=3 | +-----+ | 0 | +-----+ mysql> select NULL = NULL; +-------------+ | NULL = NULL | +-------------+ | NULL | +-------------+
2. Différent de
mysql> select 2<>3; +------+ | 2<>3 | +------+ | 1 | +------+
3. Égalité sécurisée
et=La différence est que lorsque les deux opérandes sont NULL, le résultat est 1 au lieu de NULL, et lorsqu'un opérande est NULL, le résultat est 0 au lieu de NULL.
mysql> select 2<=>3;
+-------+
| 2<=>3 |
+-------+
| 0 |
+-------+
mysql> select null=null;
+-----------+
| null=null |
+-----------+
| NULL |
+-----------+
mysql> select null<=>null;
+-------------+
| null<=>null |
+-------------+
| 1 |
+-------------+
4. Inférieur à
mysql> select 2<3; +-----+ | 2<3 | +-----+ | 1 | +-----+
5. Inférieur ou égal à
mysql> select 2<=3; +------+ | 2<=3 | +------+ | 1 | +------+
6. Supérieur à
mysql> select 2>3; +-----+ | 2>3 | +-----+ | 0 | +-----+
7. Supérieur ou égal à
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 | +-----------------------+
Opérateurs logiques
Les opérateurs logiques sont utilisés pour déterminer si une expression est vraie ou fausse. Si l'expression est vraie, le résultat renvoie 1. Si l'expression est fausse, le résultat renvoie 0.
| Symbole d'opérateur | Description |
|---|---|
| NOT ou ! | NON logique |
| ET | ET logique |
| OR | OU logique |
| OU EXCLUSIF | XOR logique |
1. AND
mysql> select 2 and 0;
+---------+
| 2 and 0 |
+---------+
| 0 |
+---------+
mysql> select 2 and 1;
+---------+
| 2 and 1 |
+---------+
| 1 |
+---------+
2. OR
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. NOT
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 | +-------+
Opérateurs bit à bit
Les opérateurs bit à bit sont des opérateurs qui effectuent des calculs sur des nombres binaires. Les opérations bit à bit convertissent d'abord les opérandes en nombres binaires, effectuent l'opération bit à bit, puis reconvertissent le résultat du calcul de binaire en décimal.
| Symbole d'opérateur | Description |
|---|---|
| & | ET bit à bit |
| | | OU bit à bit |
| ^ | OU exclusif bit à bit |
| ! | NON bit à bit |
| << | Décalage à gauche |
| >> | Décalage à droite |
1. AND bit à bit
mysql> select 3&5; +-----+ | 3&5 | +-----+ | 1 | +-----+
2. OR bit à bit
mysql> select 3|5; +-----+ | 3|5 | +-----+ | 7 | +-----+
3. XOR bit à bit
mysql> select 3^5; +-----+ | 3^5 | +-----+ | 6 | +-----+
4. NOT bit à bit
mysql> select ~18446744073709551612; +-----------------------+ | ~18446744073709551612 | +-----------------------+ | 3 | +-----------------------+
5. Décalage bit à bit vers la droite
mysql> select 3>>1; +------+ | 3>>1 | +------+ | 1 | +------+
6. Décalage bit à bit vers la gauche
mysql> select 3<<1; +------+ | 3<<1 | +------+ | 6 | +------+
Précédence des opérateurs
La priorité la plus faible est ::=。

La précédence la plus élevée est :!、BINARY、 COLLATE。
Autres extensions