English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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
Les opérateurs arithmétiques pris en charge par MySQL incluent:
opérateur | Effet |
---|---|
+ | addition |
- | soustraction |
* | multiplication |
/ ou DIV | division |
% ou MOD | modulo |
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 | +----------+
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.
Symbole | Description | Remarque |
---|---|---|
= | égalité | |
<>, != | inégalité | |
> | supérieur | |
< | inférieur | |
<= | inférieur ou égal | |
>= | supérieur ou égal | |
BETWEEN | est entre les deux valeurs | > = min && <= max |
NOT BETWEEN | n'est pas entre les deux valeurs | |
IN | est dans le jeu | |
NOT IN | n'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 |
LIKE | correspondance floue | |
REGEXP ou RLIKE | concordance de la regex | |
IS NULL | est vide | |
IS NOT NULL | ne 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 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érateur | Effet |
---|---|
NOT ou ! | non logique |
AND | et logique |
OR | ou logique |
XOR | ou 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 | +-------+
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érateur | Effet |
---|---|
& | 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 | +------+
La priorité la plus basse est : :=.
La priorité la plus élevée est : !, BINARY, COLLATE.