返回顶部
首页 > 资讯 > 数据库 >MySQL学习总结之路(第四章:运算符)
  • 203
分享到

MySQL学习总结之路(第四章:运算符)

MySQL学习总结之路(第四章:运算符) 2017-07-20 21:07:24 203人浏览 无得
摘要

目录 Mysql学习总结之路(第一章:服务与数据库管理) mysql学习总结之路(第二章:表) Mysql学习总结之路(第三章:数据类型) MySQL学习总结之路(第四章:运算符) 1.1、算数运算符 MySQL支持的算术运算符

MySQL学习总结之路(第四章:运算符)

目录

Mysql学习总结之路(第一章:服务与数据库管理)

mysql学习总结之路(第二章:表)

Mysql学习总结之路(第三章:数据类型)

MySQL学习总结之路(第四章:运算符)

1.1、算数运算符

MySQL支持的算术运算符

运算符  作用 
+ 加法 
减法
* 乘法 
/,DIV  除法,返回商
%,MOD  除法,返回余数

例1:+,-,*,/,%,

mysql> select 0.1+0.333,0.1-0.333,0.1*0.333,1/2,1%2;
+-----------+-----------+-----------+--------+------+
| 0.1+0.333 | 0.1-0.333 | 0.1*0.333 | 1/2    | 1%2  |
+-----------+-----------+-----------+--------+------+
|     0.433 |    -0.233 |    0.0333 | 0.5000 |    1 |
+-----------+-----------+-----------+--------+------+
1 row in set (0.05 sec)

例2:除法运算中,如果除数为0将是返回NULL

mysql> select 1/0;
+------+
| 1/0  |
+------+
| NULL |
+------+
1 row in set (0.00 sec)

例3:模运算的另外一种形式MOD(a,b) 和a%b相同

mysql> select 1%2,mod(1,2);
+------+----------+
| 1%2  | mod(1,2) |
+------+----------+
|    1 |        1 |
+------+----------+
1 row in set (0.00 sec)

 

1.2、比较运算符

MySQL支持的比较运算符

运算符  作用
= 等于
<>或!=  不等于
<=> NULL 安全的等于(NULL-safe)
< 小于 
<=  小于等于
> 大于 
>=  大于等于 
BETWEEN 存在与指定范围 
IN 存在于指定集合
IS NULL 为 NULL
IS NOT NULL  不为 NULL 
LIKE  通配符匹配 
REGEXP 或 RLIKE  正则表达式匹配

例1:“<>” 和 “=” 相反,如果两则操作不等 返回结果为1,否则返回结果0,“NULL”不能用于“<>”比较

mysql> select 1<>0,1<>1,null<>null;
+------+------+------------+
| 1<>0 | 1<>1 | null<>null |
+------+------+------------+
|    1 |    0 |       NULL |
+------+------+------------+
1 row in set (0.00 sec)

例2:“<=>”安全等于运算符和“=”操作相同返回1,区别在于“<=>”在值为null的时候也可以做比较

mysql> select 1<=>1,1<=>0,null<=>null;
+-------+-------+-------------+
| 1<=>1 | 1<=>0 | null<=>null |
+-------+-------+-------------+
|     1 |     0 |           1 |
+-------+-------+-------------+
1 row in set (0.02 sec)

例3:“<”当左侧小于右侧时,返回1

mysql> select "a"<"b","A"<"b","bdf"<"c",1<2;
+---------+---------+-----------+-----+
| "a"<"b" | "A"<"b" | "bdf"<"c" | 1<2 |
+---------+---------+-----------+-----+
|       1 |       1 |         1 |   1 |
+---------+---------+-----------+-----+
1 row in set (0.02 sec)

 例4:between,格式为“a BETWEEN min AND max”,表示a大于等于min并且小于等于max的时候,返回1,否则返回0

mysql> select 10 between 10 and 20,9 between 10 and 20;
+----------------------+---------------------+
| 10 between 10 and 20 | 9 between 10 and 20 |
+----------------------+---------------------+
|                    1 |                   0 |
+----------------------+---------------------+
1 row in set (0.01 sec)

例5:regexp,格式为“str REGEXP str_pat”,表示str字符串中含有str_pat相匹配的字符串时,则返回1,否则返回0

mysql> select "abcdeef" regexp "ab","abcdef" regexp "g","abcedf" regexp "df";
+-----------------------+---------------------+----------------------+
| "abcdeef" regexp "ab" | "abcdef" regexp "g" | "abcedf" regexp "df" |
+-----------------------+---------------------+----------------------+
|                     1 |                   0 |                    1 |
+-----------------------+---------------------+----------------------+
1 row in set (0.01 sec)

其他的使用简单,直接上语法,示例就不写了

in,使用格式为“a IN (value1,value2,…)”

IS NULL,使用格式为“a IS NULL”

IS NOT NULL,使用格式为“a IS NOT NULL”

LIKE,使用格式为“a LIKE %123%”

 

1.3、逻辑运算符

MySQL中的逻辑运算符

运算符 作用 
NOT 或! 逻辑非 
AND 或&&  逻辑与 
OR 或 || 逻辑或 
XOR 逻辑异或 

例1:““NOT”或“!”表示逻辑非。返回和操作数相反的结果。当操作为0,则返回1;当操作为1,则返回0,但是NOT NLLL返回null

mysql> select not 0,!0,not 1,not null;
+-------+----+-------+----------+
| not 0 | !0 | not 1 | not null |
+-------+----+-------+----------+
|     1 |  1 |     0 |     NULL |
+-------+----+-------+----------+
1 row in set (0.00 sec)

例2:“AND”和“&&”表示逻辑与运算,当操作数均为非零值,返回结果1,否则返回0,当操作数中有任意一个为NULL,其中一个值如果为0,返回0;其他值都是>0的数值,另外有NULL,则返回NULL

mysql> select (1 and 1),(0 and 1),(3 and 1),(0 and null),(1 and null);
+-----------+-----------+-----------+--------------+--------------+
| (1 and 1) | (0 and 1) | (3 and 1) | (0 and null) | (1 and null) |
+-----------+-----------+-----------+--------------+--------------+
|         1 |         0 |         1 |            0 |         NULL |
+-----------+-----------+-----------+--------------+--------------+
1 row in set (0.00 sec)
mysql> select 1 and NULL and 0;
+------------------+
| 1 and NULL and 0 |
+------------------+
|                0 |
+------------------+
1 row in set (0.00 sec)

mysql> select 1 and NULL and 3;
+------------------+
| 1 and NULL and 3 |
+------------------+
|             NULL |
+------------------+
1 row in set (0.00 sec)

 例3:“OR”或“||”表示逻辑或运算。当操作数均不为NULL时,任意一方非零,则结果为1,否则为0;当有一个操作数为NULL,如果另一个操作数非零,则结果为1,否则结果为NULL

mysql> select (1 or 0),(0 or 0),(1 or NULL),(0 or NULL),(NULL or NULL);
+----------+----------+-------------+-------------+----------------+
| (1 or 0) | (0 or 0) | (1 or NULL) | (0 or NULL) | (NULL or NULL) |
+----------+----------+-------------+-------------+----------------+
|        1 |        0 |           1 |        NULL |           NULL |
+----------+----------+-------------+-------------+----------------+
1 row in set (0.00 sec)

例4:XOR表示逻辑异或。当任意一个操作数为 NULL 时,返回值为 NULL。对于非 NULL 的操作数,如果两个的逻辑真假值相异,则返回结果 1;否则返回 0。

mysql> select (0 xor 0),(1 xor 0),(1 xor 1),(1 xor null),(0 xor null),(null xor null);
+-----------+-----------+-----------+--------------+--------------+-----------------+
| (0 xor 0) | (1 xor 0) | (1 xor 1) | (1 xor null) | (0 xor null) | (null xor null) |
+-----------+-----------+-----------+--------------+--------------+-----------------+
|         0 |         1 |         0 |         NULL |         NULL |            NULL |
+-----------+-----------+-----------+--------------+--------------+-----------------+
1 row in set (0.00 sec)

 

1.4、位运算符

MySQL支持的位运算符

运算符  作用
& 位与(位 AND) 
| 位或 (位 OR ) 
^ 位异或(位 XOR)
位取反
>> 位右移
<< 位左移 

例1:“位与”对多个操作数的二进制位作逻辑与操作。2&3,2的二进制数为10,3的二进制数为11,将此做与操作,结果还是10,转换为十进制结果就是2

mysql> select 2&3;
+-----+
| 2&3 |
+-----+
|   2 |
+-----+
1 row in set (0.01 sec)

 例2:“位或”对多个操作数的二进制位作逻辑或操作。2&3,2的二进制数为10,3的二进制数为11,将此做与操作,结果就变成11,转换为十进制结果就是3

mysql> select 2|3;
+-----+
| 2|3 |
+-----+
|   3 |
+-----+
1 row in set (0.00 sec)

例3:“位异或”对多个操作数的二进制位作异或操作。2^3 ,2的二进制数为10,3的二进制数为11,10^11结果就是01,转换为十进制结果就是1

mysql> select 2^3;
+-----+
| 2^3 |
+-----+
|   1 |
+-----+
1 row in set (0.01 sec)

 例4:“位取反”对操作数的二进制位做NOT操作,这里的操作数只能是一位,解释:在mysql中常亮数字默认会以8字节表示,8个字节就是64位,而常量1的二进制 就是前面63个0,1个1,位去反后就是63个1,1个0,转换为二进制后就是 18446744073709551614,

mysql> select ~1,~18446744073709551614
    -> ;
+----------------------+-----------------------+
| ~1                   | ~18446744073709551614 |
+----------------------+-----------------------+
| 18446744073709551614 |                     1 |
+----------------------+-----------------------+
1 row in set (0.01 sec)
mysql> select bin(18446744073709551614);
+------------------------------------------------------------------+
| bin(18446744073709551614)                                        |
+------------------------------------------------------------------+
| 1111111111111111111111111111111111111111111111111111111111111110 |
+------------------------------------------------------------------+
1 row in set (0.03 sec)

例5:“位右移”对左操作数向右移动操作数指定的位数。例如100>>3,对100的二进制数0001100100右移动3位,0000001100,转换为二进制数就是12:

mysql> select 100>>3;
+--------+
| 100>>3 |
+--------+
|     12 |
+--------+
1 row in set (0.00 sec)

例6:“位左移”对左操作数向左移动操作数指定的位数。例如100<<3,对100的二进制数0001100100000右移动3位,1100100000000,转换为二进制数就是800:

mysql> select 100<<3;
+--------+
| 100<<3 |
+--------+
|    800 |
+--------+
1 row in set (0.00 sec)

1.5、运算符的优先级

MySQL中的运算符优先级

优先级顺序 运算符
1 := 
2 ||, OR, XOR
3 &&, AND 
4 NOT 
5 BETWEEN, CASE, WHEN, THEN, ELSE 
6 =, <=>, >=, >, <=, <, <>, !=, IS, LIKE, REGEXP, IN
7
8 &
9 <<, >>
10 -, +
11 *, /, DIV, %, MOD 
12
13 - (一元减号), ~ (一元比特反转) 
14

此章节完成

您可能感兴趣的文档:

--结束END--

本文标题: MySQL学习总结之路(第四章:运算符)

本文链接: https://lsjlt.com/news/8429.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL学习总结之路(第四章:运算符)
    目录 MySQL学习总结之路(第一章:服务与数据库管理) MySQL学习总结之路(第二章:表) MySQL学习总结之路(第三章:数据类型) MySQL学习总结之路(第四章:运算符) 1.1、算数运算符 MySQL支持的算术运算符 ...
    99+
    2017-07-20
    MySQL学习总结之路(第四章:运算符)
  • MySQL学习总结之路(第二章:表)
    目录 MySQL学习总结之路(第一章:服务与数据库管理) MySQL学习总结之路(第二章:表) MySQL学习总结之路(第三章:数据类型)  ...... 1、创建表 1.1、创建表基本语法: CREATE TABLE tablenam...
    99+
    2018-02-14
    MySQL学习总结之路(第二章:表)
  • Java基础学习之运算符相关知识总结
    1.算术运算符 +表示加法运算符 -表示减法运算符 *表示乘法运算符 /表示除法运算符 %表示取模/取余运算符 package com...
    99+
    2024-04-02
  • MYSQL 运算符总结
    目录1、算数运算符2、比较运算符3、逻辑运算符4、位运算符5、运算符的优先级1、算数运算符 MySQL支持的算术运算符: ...
    99+
    2024-04-02
  • 第04章 MySQL运算符详解
    第04章 MySQL运算符详解 1. 算术运算符 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+)、减(-)、乘(*)、除(/)和取模(%)运算。 1.加法与减法运算符 mysql> SE...
    99+
    2016-03-13
    第04章 MySQL运算符详解
  • Python学习之运算符
    Python中有以下几种运算符 假设a=2,b=3 运算符 描述 实例 + 两个对象相加 a+b 输出5 - 两个对象相减,得到一个负数或者另外一个数字 a-b 输出-1 * 两个数相乘或者返回一个被重复若干次的字符串...
    99+
    2023-01-30
    运算符 Python
  • Python学习之运算符号
    目录1、算数运算符:2、赋值运算符:3、比较运算符4、逻辑运算符5、 成员运算符 总结大至分为以下5类运算符号 算数运算符 赋值运算符 比较运算符...
    99+
    2024-04-02
  • go-zero学习 第四章 数据库操作(MySQL)
    go-zero学习 第四章 数据库操作(MySQL) 1 目录结构说明2 相关命令2.1 生成sqlx代码命令2.2 生成sqlc代码命令 3 sqlx3.1 sqlx代码讲解3.2 新增...
    99+
    2023-10-23
    golang
  • Java IO 学习总结(四)BufferedReader 缓冲字符流
    Java IO 学习总结(一)输入流/输出流 Java IO 学习总结(二)File 类 Java IO 学习总结(三)BufferedInputStream Java IO 学习总结(四)Buffe...
    99+
    2023-09-27
    java 学习 缓存
  • MySQL学习笔记(5):运算符
    本文更新于2020-06-14,使用MySQL 5.7,操作系统为Deepin 15.4。 目录算数运算符比较运算符逻辑运算符位运算符运算符优先级 算数运算符 运算符 语法 说明 + a + b 加法 - a -...
    99+
    2021-06-02
    MySQL学习笔记(5):运算符
  • 爬虫学习之第四章爬虫进阶之多线程爬虫
    有些时候,比如下载图片,因为下载图片是一个耗时的操作。如果采用之前那种同步的方式下载。那效率肯会特别慢。这时候我们就可以考虑使用多线程的方式来下载图片。 多线程介绍: 多线程是为了同步完成多项任务,通过提高资源使用效率来提高系统的效率...
    99+
    2023-01-31
    爬虫 进阶 第四章
  • MySQL学习总结之路(服务与数据库管理)
    今天开始通过自学MySQL总结一些方法和一些基础的内容,写在这里,和大家一起讨论学习进步。(现在东西少,第一次写有这类结构的东西,过几天会出一个整体目录结构,方便查看) 安装部署直接跳过,我使用的版本是5.7,直接开写 1启动和关闭服务指...
    99+
    2016-08-07
    MySQL学习总结之路(服务与数据库管理)
  • mysql学习8:第四章:数据库文件--日志文件
      1.1.   错误日志文件(error log ) 默认存放路径在数据目录下,以error.log结尾的文件。 查看文件位置: show variable...
    99+
    2024-04-02
  • MySQL学习之基础操作总结
    目录1.库的操作2.表的操作创建表查看表结构删除表修改表1.库的操作 查看当前mysql数据库下默认有哪些库 show databases; 创建一个库 create databas...
    99+
    2024-04-02
  • mysql数据库字符集学习总结
    MYSQL数据库字符集包括字符集(CHARACTER)和校对规则(COLLATION)两个概念。MYSQL 支持的字符集和校对规则可以通过命令showcharacter set;查看。和字符集有关的变量my...
    99+
    2024-04-02
  • C++学习之算术运算符使用详解
    目录1. 前言2. 运算符种类3. 算术运算符3.1 功能描述3.2 运算符重载问题3.3 两数相除的问题3.4 关 于/和%运算符的正、负问题3.5 数据溢出问题3.6 类型转换3...
    99+
    2024-04-02
  • C++ Primer Plus 第四章之C++ Primer Plus复合类型学习笔记
    目录1. 数组概述1.1 数组的定义1.2 数组的声明1.3 复合类型的数组1.4 数组的初始化规则1.5 C++11数组初始化方法2. 字符串2.1 C++处理字符串的两种方式:2...
    99+
    2024-04-02
  • mysql学习6:第三章MYSQL 体系结构与存储引擎
    1.   第三章MYSQL 体系结构与存储引擎 1.1.   mysql体系结构 体系结构分为两大层: l   mysql server层:...
    99+
    2024-04-02
  • Java基础学习之字符串知识总结
    目录一、前言二、String 类(字符串常量)2.1 String 类实例的创建2.2 String 对象的比较2.3 String对象的空值2.4 字符串拼接三、StringBui...
    99+
    2024-04-02
  • Python学习之字符串常用方法总结
    目录什么是对象Python万物皆是对象字符串的索引索引[]索引[:]字符串的常用方法find()函数与index()函数startswith()函数与endswith()函数capi...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作