MySQL入门(5)——运算符

算术运算符

MySQL支持的算数运算符包括加、减、乘、除、求余。

符号 作用
+ 加法运算
- 减法运算
* 乘法运算
/ 除法运算
% 求余运算
DIV 除法运算,返回商,同“/”
MOD 求余运算,返回余数,同“/”

比较运算符

比较运算符是查询数据时最常用的一类运算符。SELECT语句中的条件语句经常需要使用比较运算符。

运算符 名称 示例 运算符 名称 示例
= 等于 id=5 IS NOT NULL N/A id IS NOT NULL
> 大于 id>5 BETWEEN AND N/A id BETWEEN 1 and 4
< 小于 id<5 IN N/A id IN(3,4,5,6)
>= 大于等于 id>=5 NOT IN N/A name NOT IN(Java,C#)
<= 小于等于 id<=5 LIKE 模式匹配 name LIKE('C%')
!=或<> 不等于 id!=5 NOT LIKE 模式匹配 name NOT LIKE('Java%')
IS NULL N/A id IS NULL REGEXP 常规表达式 name 正则表达式

在使用“=”判断两个字符串是否相同时,数据库系统都是根据字符的ASCII码进行判断的,ASCII码相同则字符相同。空值(NULL)不得使用“=”判断。

IS NULL用来判断操作数是否为空值(NULL)。操作数为NULL时,返回1;否则返回0。IS NOT NULL与IS NULL正好相反。

“=”、“<>”、“!=”、“>”、“>=”、“<”、“<=”等运算符都不得用于判断空值(NULL),一旦使用,将返回结果NULL。可以使用“<=>”、IS NULL和IS NOT NULL来判断。

REGEXP匹配字符串,满足会返回1;否则返回0。REGEXP通常和“^”、“\$”、“.”一起使用。“^”用以匹配字符串的开始部分;“$”用以匹配字符串结尾部分;“.”用以代表字符串中的一个字符。

逻辑运算符

符号 作用
&&或AND 与
||或OR 或
!或NOT 非
XOR 异或

位运算符

位运算符是二进制数上进行运算的运算符。位运算首先将操作数变为二进制数,再进行位运算,然后将结果又由二进制变回十进制。MySQL支持6种位运算符,分别是按位与、按位或、按位取反、按位异或、按位左移和按位右移。

符号 作用
& 按位与。进行该运算时,数据库系统首先将十进制数变为二进制,然后对应操作数的每个二进制位上进行与运算。1和1相与得1,和0相与得0。运算完成后再将二进制数变回十进制数。
| 按位或。将操作数化为二进制数后,每位都进行或运算。
~ 按位取反。将操作数化为二进制数后,每位都进行取反运算。
^ 按位异或。将操作数化为二进制数后,每位都进行异或运算。
<< 按位左移。“m<<n”表示m的二进制数向左移n位,右边补上n个0。
>> 按位右移。“m>>n”表示m的二进制数向右移n位,左边补上n个0。

运算符的优先级

优先级 运算符
1 !
2 ~
3 ^
4 *,/,DIV,%,MOD
5 +,-
6 >>,<<
7 &
8 |
9 =,<=>,<,<=,>,>=,!=,<>,IN,IS,NULL,LIKE,REGEXP
10 BETWEEN AND,CASE,WHEN,THEN,ELSE
11 NOT
12 &&,AND
13 ||,OR,XOR
14 :=

MySQL入门(5)——运算符的更多相关文章

  1. 21分钟 MySQL 入门教程(转载!!!)

    21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...

  2. MySQL入门转载

    21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html 目录 一.MySQL的相关概念介绍 二.Wi ...

  3. MySQL入门笔记(二)

    MySQL的数据类型.数据库操作.针对单表的操作以及简单的记录操作可参考:MySQL入门笔记(一) 五.子查询   子查询可简单地理解为查询中的查询,即子查询外部必然还有一层查询,并且这里的查询并非仅 ...

  4. 重新学习MySQL数据库1:无废话MySQL入门

    重新学习Mysql数据库1:无废话MySQL入门 开始使用 我下面所有的SQL语句是基于MySQL 5.6+运行. MySQL 为关系型数据库(Relational Database Manageme ...

  5. Mysql学习总结(12)——21分钟Mysql入门教程

    21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...

  6. 最新MySQL入门篇

    一.SQL简介 ​ SQL:结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系 ...

  7. MySQL入门02-MySQL二进制版本快速部署

    在上篇文章 MySQL入门01-MySQL源码安装 中,我们介绍了MySQL源码安装的方法. 源码安装虽然有着更加灵活和更加优化等诸多优势.但源码编译安装部署的过程相对复杂,而且整个过程所花费的时间很 ...

  8. MYSQL入门全套(第三部)

    MYSQL入门全套(第一部) MYSQL入门全套(第二部) 索引简介 索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构.如果想按特定职员的姓来查找 ...

  9. MySQL入门(三)

    写了两篇<MySQL入门>以后我发现,写书的人还是都挺有本事的,起码人家知道怎么编排自己想讲的知识点,我实在是不知道该先说那里后说哪里,那我就想到什么讲什么吧. 一 写SQL 其实我是不想 ...

随机推荐

  1. linux下新建用户

    新建用户的两种方式: 一步步创建 useradd -m user1 #-m 是建立家目录 passwd user1 #设置密码 usermod -a -G root user1 #加入管理员 chsh ...

  2. matplotlib 单figure多图

    method 1 import numpy as np import matplotlib.pyplot as plt fg, axes = plt.subplots(1, 2, figsize=(1 ...

  3. VuePress plugins All In One

    VuePress plugins All In One VuePress & element-ui & docs $ yarn add -D vuepress-plugin-demo- ...

  4. 免费在线 Linux Desktop 环境

    免费在线 Linux Desktop 环境 Run Linux OS Distributions online https://www.onworks.net/os-distributions 免费测 ...

  5. SwiftUI error All In One

    SwiftUI error All In One Instance member xxx cannot be used on type yyy Instance member 'game' canno ...

  6. cookie & maxAge & expires

    cookie & maxAge & expires Expires (timestamp) & Max-Age (seconds) https://developer.mozi ...

  7. leetcode solution cracked tutorial

    leetcode solution cracked tutorial problemset https://leetcode.com/problemset/all/ Top Interview Que ...

  8. how to create one single-file Web Component just using the HTML, CSS, JavaScript

    how to create one single-file Web Component just using the HTML, CSS, JavaScript web components html ...

  9. Vue SSR in Action

    Vue SSR in Action https://ssr.vuejs.org/ https://ssr.vuejs.org/api/ https://ssr.vuejs.org/guide/data ...

  10. multi selects & mutually exclusive

    multi selects & mutually exclusive 互斥 selects import React, { useState, // useEffect, // useRef, ...