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

عمليات MySQL

في هذا الفصل، سنقوم بشرح عناصر الحساب في MySQL وأولويات العناصر الحسابية. MySQL تتضمن العناصر التالية من العناصر الحسابية:

  • عناصر الحساب

  • 比较运算符

  • عمليات الحساب المنطقية

  • عمليات الحساب الثنائية

عناصر الحساب

عناصر الحساب المدعومة من MySQL تشمل:

عناصر الحسابالوظيفة
+الجمع
-الطرح
*الضرب
/ أو DIVالقسمة
% أو MODالبقية

في عمليات التقسيم والبقية، إذا كان المعدل صفرًا، سيكون معدل غير قانوني، وسيتم إرجاع النتيجة كـNULL.

1、加

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

2、减

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

3、乘

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

4、除

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

5、商

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

6、取余

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

比较运算符

SELECT 语句中的条件语句经常要使用比较运算符。通过这些比较运算符,可以判断表中的哪些记录是符合条件的。比较结果为真,则返回 1,为假则返回 0,比较结果不确定则返回 NULL。

符号描述备注
=等于
<>, !=不等于
>大于
<小于
<=小于等于
>=大于等于
BETWEEN在两值之间>=min&&<=max
NOT BETWEEN不在两值之间
IN在集合中
NOT IN不在集合中
<=>严格比较两个NULL值是否相等两个操作码均为NULL时,其所得值为1;而当一个操作码为NULL时,其所得值为0
LIKE模糊匹配
REGEXP 或 RLIKE正则式匹配
IS NULL为空
IS NOT NULL不为空

1、等于

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

2、不等于

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

3、安全等于

与 = 的区别在于当两个操作码均为 NULL 时,其所得值为 1 而不为 NULL,而当一个操作码为 NULL 时,其所得值为 0而不为 NULL。

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

4、أقل من

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

5、أقل من أو يساوي

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

6、أكبر من

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

7、大于等于

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 'بيجينغ' REGEXP 'نج';
+-------------------------+
| 'beijing' REGEXP 'jing' |
+-------------------------+
|                       1 |
+-------------------------+
mysql> select 'beijing' REGEXP 'xi';
+-----------------------+
| 'beijing' REGEXP 'xi' |
+-----------------------+
|                     0 |
+-----------------------+

عمليات الحساب المنطقية

استخدمت عمليات الحساب المنطقية لتقييم صحة التعبيرات. إذا كان التعبير صحيحًا، يتم رد 1. إذا كان التعبير خطأ، يتم رد 0.

رمز العملياتالوظيفة
NOT أو !الاستبعاد المنطقي
ANDالجمع المنطقي
ORالإتحاد المنطقي
XORالكسور المنطقية

1、الجمع

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

2、الإتحاد

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、الاستبعاد

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

4、الكسور

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 |
+-------+

عمليات الحساب الثنائية

العمليات الحسابية على الأعداد الثنائية هي عمليات الحساب على الأعداد الثنائية. قبل إجراء العمليات الحسابية، يجب تحويل المعادلة إلى عدد ثنائي، ثم إجراء العمليات الحسابية. بعد ذلك، يتم تحويل النتيجة من عدد ثنائي إلى عدد عشري.

رمز العملياتالوظيفة
&كسر حرفي
|كسر حرفي
^كسر حرفي
!استنساخ
<<تحريك يسارا
>>تحريك يمينا

1、كسر حرفي

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

2、كسر حرفي

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

3、كسر حرفي

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

4、استنساخ حرفي

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

5、تحريك حرفي يمينا

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

6、تحريك حرفي يسارا

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

أولوية العمليات

أدنى أولوية هي: :=.

أعلى أولوية هي: !،BINARY، COLLATE.