运算符

news2024/9/23 23:32:24

目录

算术运算符

比较运算符

逻辑运算符 

位运算符 

运算符的优先级


MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm=1001.2014.3001.5502

数据库中的表结构确立后,表中的数据代表的意义就已经确定。而通过MySQL运算符进行运算,就可以获取到表结构以外的另一种数据。例如,学生表中存在一个birth字段,这个字段表示学生的出生年份。而运用MySQL的算术运算符用当前的年份减学生出生的年份,那么得到的就是这个学生的实际年龄数据。这就是MySQL的运算符,所以熟悉并掌握运算符的应用,对于操作MySQL数据库中的数据是非常有用的。下面就来熟悉一下MySQL支持的4种运算符都具备哪些功能。

算术运算符:执行算术运算,例如:加、减、乘、除等。

比较运算符:包括大于、小于、等于或者不等于,等等。主要用于数值的比较、字符串的匹配等方面。例如:LIKE、IN、BETWEEN AND和IS NULL等都是比较运算符,还包括正则表达式的REGEXP也是比较运算符。

逻辑运算符:包括与、或、非和异或等逻辑运算符。其返回值为布尔型,真值(1或true)和假值(0或false)。

位运算符:包括按位与、按位或、按位取反、按位异或、按位左移和按位右移等位运算符。位运算必须先将数据转换为二进制,然后在二进制格式下进行操作,运算完成后,将二进制的值转换为原来的类型,返回给用户。

算术运算符

算术运算符是MySQL中最常用的一类运算符。MySQL支持的算术运算符包括:加、减、乘、除、求余。

 

加(+)、减(-)和乘(*)可以同时计算多个操作数。除号(/)和求余运算符(%)也可以同时计算多个操作数,但是这两个符号计算多个操作数不太好。DIV和MOD这两个运算符只有两个参数。进行除法和求余的运算时,如果x2参数是0或者null,计算结果将是空值(NULL)。

比较运算符

比较运算符是查询数据时最常用的一类运算符。SELECT语句中的条件语句经常要使用比较运算符。通过这些比较运算符,可以判断表中的哪些记录是符合条件的。

下面对几种较常用的比较运算符进行详解。

1.运算符“=”,“=”用来判断数字、字符串和表达式等是否相等。如果相等,返回1,否则返回0。

说明:在运用“=”运算符判断两个字符是否相同时,数据库系统都是根据字符的ASCII码进行判断的。如果ASCII码相等,则表示这两个字符相同。如果ASCII码不相等,则表示这两个字符不相同。注意,空值(NULL)不能使用“=”来判断。

2.运算符“<>”和“!=”,“<>”和“!=”用来判断数字、字符串、表达式等是否不相等。如果不相等,则返回1;否则,返回0。这两个符号也不能用来判断空值(NULL)。

3.运算符“>”,“>”用来判断左边的操作数是否大于右边的操作数。如果大于,返回1;否则,返回0。同样,空值(NULL)不能使用“>”来判断。

4.运算符“IS NULL”,“IS NULL”用来判断操作数是否为空值(NULL)。操作数为NULL时,结果返回1;否则,返回0。IS NOT NULL刚好与IS NULL相反。

说明:“=”、“<>”、“!=”、“>”、“>=”、“<”、“<=”等运算符都不能用来判断空值(NULL)。一旦使用,结果将返回NULL。如果要判断一个值是否为空值,可以使用IS NULL和IS NOT NULL来判断。注意:NULL和'NULL'是不同的,前者表示为空值,后者表示一个由4个字母组成的字符串。

5.运算符“BETWEEN AND”,“BETWEEN AND”用于判断数据是否在某个取值范围内。

其表达式如下:

x1 BETWEEN m AND n

如果x1大于等于m,且小于等于n,结果将返回1,否则将返回0。

6.运算符“IN”,“IN”用于判断数据是否存在于某个集合中。

其表达式如下:

x1 IN(值1,值2,……,值n)

如果x1等于值1到值n中的任何一个值,结果将返回1。如果不是,结果将返回0。

7.运算符“LIKE”,“LIKE”用来匹配字符串。

其表达式如下:

x1 LIKE s1

如果x1与字符串s1匹配,结果将返回1。否则返回0。

8.运算符“REGEXP” ,REGEXP”同样用于匹配字符串,但其使用的是正则表达式进行匹配。

其表达式格式如下:

x1 REGEXP'匹配方式'

如果x1满足匹配方式,结果将返回1;否则将返回0。

说明:使用REGEXP运算符匹配字符串,其使用方法非常简单。REGEXP运算符经常与“^”、“$”和“.”一起使用。“^”用来匹配字符串的开始部分;“$”用来匹配字符串的结尾部分;“.”用来代表字符串中的一个字符。 

逻辑运算符 

逻辑运算符用来判断表达式的真假。如果表达式是真,结果返回1。如果表达式是假,结果返回0。逻辑运算符又称为布尔运算符。MySQL中支持4种逻辑运算符,分别是与、或、非和异或。

1.“与”运算

“&&”或者“AND”是“与”运算的两种表达方式。如果所有数据不为0且不为空值(NULL),则结果返回1;如果存在任何一个数据为0,则结果返回0;如果存在一个数据为NULL且没有数据为0,则结果返回NULL。“与”运算符支持多个数据同时进行运算。

2.“或”运算

“||”或者“OR”表示“或”运算。所有数据中存在任何一个数据为非0的数字时,结果返回1;如果数据中不包含非0的数字,但包含NULL时,结果返回NULL;如果操作数中只有0时,结果返回0。“或”运算符“||”可以同时操作多个数据。

3.“非”运算

“!”或者NOT表示“非”运算。通过“非”运算,将返回与操作数据相反的结果。如果操作数据是非0的数字,结果返回0;如果操作数据是0,结果返回1;如果操作数据是NULL,结果返回NULL。

4.“异或”运算

XOR表示“异或”运算。当其中一个表达式是真而另外一个表达式是假时,该表达式返回的结果才是真;当两个表达式的计算结果都是真或者都是假时,则返回的结果为假。

位运算符 

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

运算符的优先级

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1075075.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[护网杯 2018]easy_tornado 解析

打开网页有三个链接,依次点开之后获得一个fllllllllllllag一个render和一个MD5加密格式 之后尝试去访问/fllllllllllllag 直接跳出报错界面。 但这个报错界面居然是可以改的 试着注入一下 看了师傅的wp发现好像没有,要从框架入手 框架就是标题的torna…

[极客大挑战 2020]Roamphp2-Myblog - 伪协议+文件上传+(LFIZIP)||(LFIPhar)【***】

[极客大挑战 2020]Roamphp2-Myblog 1 解题流程1.1 分析1.2 解题1.3 中场休息——再分析1.3.1 浅层分析1.3.2 难点疑惑1.3.3 深度分析 1.4 重整旗鼓——再战1.4.1 解法一:zip伪协议1.4.2 解法二:phar伪协议 2 总结展望 1 解题流程 1.1 分析 1、点击logi…

OpenCV4(C++)—— 图片的基本尺寸变换

文章目录 一、resize(缩放)二、filp(翻转)三、裁剪四、拼接 一、resize(缩放) void cv::resize(cv::InputArray src, // 输入图像cv::OutputArray dst, // 输出图像cv::Size dsize, …

C++对象模型(6)-- 数据语义学:继承的对象布局(含虚函数)

1、单个类带虚函数的对象布局 当类含有虚函数时,在实例化对象时会产生一个虚函数表指针,这个虚函数表指针通常在对象的开头位置。 class Base { public:int x;int y;virtual void virFunc() { } }; 对象布局如下: 2、单一继承父类带虚函数…

ZYNQ的程序固化

03-ZYNQ学习(启动篇)之程序的固化_zynq ps网口-CSDN博客 ZYNQ启动之后, PS_POR_B 复位引脚置低后,硬件立即对引导带引脚进行采样,并可选择启用 PS 时钟 PLL。然后,PS开始执行片上ROM中的BootROM代码来引导…

UniApp项目实践HelloUni继续快速小步快跑中,前面是大上海吗

效果镇楼 本来想着稍微刷点课程就完活的,结果还是到这个点了。宝贵的时间啊 直接代码干就是了,参考如下链接; UniApp实践业务项目

使用Resource Hacker编辑DLL文件

Resource Hacker下载 链接:https://pan.quark.cn/s/8e18988d49aa 操作 打开resource hacker软件 打开文件 修改 编译,点击绿色按钮 提示成功 将编译后的文件另存为即可

C语言纳秒级计时

C语言纳秒级计时 文章目录 C语言纳秒级计时函数介绍示例代码参考 函数介绍 C语言中常用的clock()函数只能精确到毫秒级,对应的数据类型是clock_t。 C11标准中提供了纳秒级别定时器:timespec_get()函数与timespec()类型。 struct timespec{time_t tv_s…

找不到msvcp140.dll导致代码无法继续执行 ,8个方法搞定msvcp140.dll文件缺失问题

首先,让我们了解一下 msvcp140.dll 文件。msvcp140.dll 是 Microsoft Visual Studio 2010 编译的程序所使用的动态链接库之一,它包含了一些 C标准库函数的实现,例如 std::vector、std::string 等。这个文件主要被用于支持 C程序的运行&#x…

计算机是如何启动的

一直好奇计算机启动的原理是怎么样的?最近刚好想搞一下操作系统,故此总结一下。 打开电源 对于现代计算机来说,打开电源是开机的第一步,这一点无用质疑,离开了电,现代社会估计就会垮台。 计算机启动 加电…

ctfshow-web9(奇妙的ffifdyop绕过)

尝试万能密码登录,没有任何回显 尝试扫描目录,这里不知道为啥御剑什么都扫不到,使用dirsearch可以扫到robots.txt 查看robots协议 访问下载index.phps 查看index.phps 简单审计一下php代码: $password$_POST[password]; if(strl…

Linux——多线程1

目录 一.理解线程的概念 Linux线程概念 二.线程的优点 三.线程的缺点 四.线程用途 五. Linux进程VS线程 一.理解线程的概念 教材观点: 线程是一种执行分支,执行粒度比进程更细,调度成本更低。线程是进程内部的一个执行流。 内核观点: …

【Python查找算法】二分查找、线性查找、哈希查找

目录 1 二分查找算法 2 线性查找算法 3 哈希查找算法 1 二分查找算法 二分查找(Binary Search)是一种用于在有序数据集合中查找特定元素的高效算法。它的工作原理基于将数据集合分成两半,然后逐步缩小搜索范围,直到找到目标元素…

python的一些知识点

之前自学过python,学了一些基本语法,但忘得厉害。最近,在努力地写代码,在学代码,写代码中学习python,为此记录一些关于python的知识点。

四、综合——通信系统

文章目录 一、通信系统概述1.1 通信的基本概念1.2 通信系统的组成二、信道的定义和分类三、信源编码四、调制一、通信系统概述 1.1 通信的基本概念 通信是发送者(人或机器)和接收者之间通过某种媒体进行的信息传递。广义来讲。光通信也属于电通信,因为光也是一种电磁波。 …

2023.10.09

#include <iostream>using namespace std;//定义一个类&#xff08;人&#xff09; class Per { private:string name;//姓名int age;//年龄//体重和身高另存堆空间double* height;//身高double* weight;//体重 public://定义构造函数&#xff0c;并且初始化//运用初始化…

【致敬未来的攻城狮计划】第2期 作业汇总贴 + 获奖公布

一、写在前面 时间过得真快&#xff0c;距离 【致敬未来的攻城狮计划】第2期 的发起&#xff0c;已经过去一个多月了&#xff0c;而第2期的真正学习考核期也将在5/13的18点整正式结束。 关于第2期的活动计划&#xff0c;感兴趣的可以参见这里&#xff1a;【重磅推出】《致敬未…

springboot项目中添加大屏页面

在非前后端分离的项目中根据项目需求需要添加一个大屏页面 解决方案&#xff1a; 参考&#xff1a;纯静态引入.vue文件之http-vue-loader.js - 知乎 我是把httpVueLoader.js 下载到本地引入 引入http-vue-loader.js 在vue代码中 components: { // 注意component 下name的命…

【C++】:日期类实现

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家解读一下有关Linux的基础知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数…

Kafka和RabbitMQ的对比

Rabbitmq比kafka可靠&#xff0c;kafka更适合IO高吞吐的处理&#xff0c;比如ELK日志收集 Kafka和RabbitMq一样是通用意图消息代理&#xff0c;他们都是以分布式部署为目的。但是他们对消息语义模型的定义的假设是非常不同的。 a) 以下场景比较适合使用Kafka。如果有大量的事…