数据库之运算符
目录
一、算数运算符
二、比较运算符
1.常用比较运算符
2.实现特殊功能的比较运算符
三、逻辑运算符
1.逻辑与运算符(&&或者AND)
2.逻辑或运算符(||或者OR)
3.逻辑非运算符(!或者NOT)
4.逻辑异或运算符(XOR)
四、位运算符
1.位与运算符(&)
2.位或运算符(|)
3.位异或运算符(^)
4.位左移(<<)和位右移(>>)运算符
5.位取反运算符(~)
五、运算符的优先级
一、算数运算符
算数运算符是MySQL中最基本的运算符,主要用于执行数值运算。
| 运算符 | 作用 |
|---|---|
| + | 执行加法运算,用于获得一个或多个值的和 |
| - | 执行减法运算,用于从一个值中减去另一个值 |
| * | 执行乘法运算,得到两个或多个值的乘积 |
| / | 执行除法运算,用一个值除以另一个值得到商 |
| % | 执行求余运算,用一个值除以另一个值得到余数 |
二、比较运算符
比较运算符的作用是将表达式中的两个操作数进行比较,比较结果为真,则返回1,为假则返回0,结果不确定则返回NULL。
| 运算符 | 作用 |
|---|---|
| =(<=>) | 等于 |
| < | 小于 |
| > | 大于 |
| <= | 小于等于 |
| >= | 大于等于 |
| <>(!=) | 不等于 |
| BETWEEN AND | 判断一个值是否在两个值之间 |
| IN | 判断一个值是否在某个集合中 |
| IS NULL | 判断一个值是否为NULL |
| LIKE | 通配符匹配,判断一个值是否包含某个字符 |
| REGEXP | 正则表达式匹配 |
1.常用比较运算符
1.等于运算符
“=”和“<=>”用于判断数字、字符串和表达式是否相等,“<=>”还可以用于NULL(空值)之间的比较。
如果两个操作数中有一个或两个值为NULL(空值),结果为空;如果两个操作数分别为字符串和数值,系统会首先将字符串转换成数值,然后再进行比较。
2.不等于运算符
“<>”和“!=”用于判断数字、字符串和表达式是否相等,如果不相等则返回1,否则返回0.其用法与等于运算符用法相同,但不能操作NULL(空值)。
3.其他常用比较运算符
“<”“>”“<=”和“>=”4种运算符用于比较数字、字符串和表达式,如果比较结果为真则返回1,否则返回0。这些运算符也不能操作NULL(空值)。
如果使用上述4种运算符进行比较的两个操作数为字符串,系统会比较两个字符串的长度,但两个操作数不能一个为数值,一个为字符串。
2.实现特殊功能的比较运算符
正则表达式匹配的REGEXP运算符的应用。
| 通配符 | 作用 |
|---|---|
| ^ | 匹配字符串的开始部分。例如,^b匹配以字母b开始的字符串 |
| $ | 匹配字符串的结束部分。例如,st$匹配以st结束的字符串 |
| . | 匹配除换行符’\n’之外的任何单个字符。例如,b.t匹配bit,bat,but等 |
| [...] | 匹配方括号中(字符集合)所包含的任意一个字符。例如,[a-z]匹配字母表26个字母中的任意一个字母 |
| [^...] | 匹配字符集合未包含的任意一个字符。例如,’[^a]’可以匹配除’a’之外的任意一个字符 |
| p1|p2 | 匹配p1或p2。例如,’k|cat’能匹配到’k’或’cat’。’(k|c)at’可以匹配’kat’或’cat’ |
| * | 匹配符号*前面的零个或多个字符。例如,’ao*’能匹配’a’以及’aoo’,[0-9]*匹配任意数量的数字 |
| + | 匹配符号+前面的字符一次或多次。例如,’ao+’能匹配’ao’以及’aoo’ |
| {n} | 匹配符号前面的字符至少n次。例如,’o{2}’能匹配’food’,但不能匹配’dog’ |
| {n,m} | 匹配符号前面的字符至少n次,至多m次。例如,b{2,4}匹配包含至少2个,至多4个b的字符串。 |
三、逻辑运算符
逻辑运算符又称为布尔运算符,用于确定表达式的真和假。
| 运算符 | 作用 |
|---|---|
| &&(AND) | 逻辑与 |
| ||(OR) | 逻辑或 |
| !(NOT) | 逻辑非 |
| XOR | 逻辑异或 |
1.逻辑与运算符(&&或者AND)
“&&”和“AND”表示逻辑与运算,当所有操作数均为非零值,并且不为NULL时,返回值为1;当一个或多个操作数为0时,返回值为0;当任何一个操作数为NULL,其他操作数为非零值时,返回值为NULL。
使用“&&”和“AND”运算符可以有多个操作数同时进行与运算。
2.逻辑或运算符(||或者OR)
“||”和“OR”表示逻辑或运算,当所有操作数均为非NULL值时,如有任意一个操作数为非零值,返回值为1;当一个操作数为非零值,另外的操作数为NULL时,返回值为1;当所有操作数为NULL时,返回值为NULL;当所有操作数为0时,返回值为0。
3.逻辑非运算符(!或者NOT)
“!”和“NOT”表示逻辑非运算,返回和操作数相反结果。当操作数为0时,返回值为1;当操作数为非零值时,返回值为0;当操作数为NULL时,返回值为NULL。
4.逻辑异或运算符(XOR)
“XOR”表示逻辑异或运算,当两个操作数同时为0或者同为非零值时,返回值为0;当两个操作数一个为非零值,一个为0时,返回值为1;当任意一个操作数为NULL时,返回值为NULL。
四、位运算符
位运算符是将给定的操作数转换为二进制数,然后对各个操作数的每一位进行指定的逻辑运算,最后将二进制结果转换为十进制数,得到位运算的结果。
| 运算符 | 作用 |
|---|---|
| & | 位与 |
| | | 位或 |
| ^ | 位异或 |
| << | 位左移 |
| >> | 位右移 |
| ~ | 位取反 |
1.位与运算符(&)
位与运算是将操作数转换为二进制数后进行按位与运算。在这种运算中,如果对应的二进制位全部为1,则该位的运算结果为1,其他情况运算结果为0。
2.位或运算符(|)
位或运算是将操作数转换为二进制数后进行按位或运算。在这种运算中,如果对应的二进制位有一个或多个为1,则该位的运算结果为1.其他情况运算结果为0。
3.位异或运算符(^)
位异或运算符是将操作数转换为二进制数后进行按位异或运算。在这种运算中,如果对应的二进制位不相同,则该位的运算结果为1,否则为0。
4.位左移(<<)和位右移(>>)运算符
位左移和位右移运算是将操作数转换为二进制数后,使二进制位全部左移或全部右移指定的位数,如果向左移则右边补0,如果向右移则左边补0,移除的位数将被抛弃,最后将移动后的结果转换成十进制数即可。
5.位取反运算符(~)
位取反运算是将操作数转换为二进制数后,对二进制数进行逐位反转,即1取反后变0,0取反后变1。
五、运算符的优先级
| 优先级 | 运算符 |
|---|---|
| 1 | :=(赋值运算) |
| 2 | ||,OR |
| 3 | XOR |
| 4 | &&,AND |
| 5 | NOT |
| 6 | BETWEEN AND,CASE,WHERE,THEN,ELSE |
| 7 | =(比较运算),<=>,<,>,>=,<=,<>,!=,IN,IS NULL,LIKE,REGEXP |
| 8 | | |
| 9 | & |
| 10 | <<,>> |
| 11 | -(减法运算),+ |
| 12 | *,/,% |
| 13 | ^ |
| 14 | -(负号),~ |
| 15 | ! |
相关文章:
数据库之运算符
目录 一、算数运算符 二、比较运算符 1.常用比较运算符 2.实现特殊功能的比较运算符 三、逻辑运算符 1.逻辑与运算符(&&或者AND) 2.逻辑或运算符(||或者OR) 3.逻辑非运算符(!或者NOT&#…...
【自动化机器学习AutoML】AutoML工具和平台的使用
自动化机器学习AutoML:AutoML工具和平台的使用 目录 引言什么是AutoMLAutoML的优势常见的AutoML工具和平台 Google Cloud AutoMLH2O.aiAuto-sklearnTPOTMLBox AutoML的基本使用 Google Cloud AutoML使用示例Auto-sklearn使用示例 AutoML的应用场景结论 引言 自动…...
【每日一练】python求最后一个单词的长度
""" 求某变量中最后一个单词的长度 例如s"Good morning, champ! Youre going to rock this day" 分析思路: 遇到字符串问题,经常和列表结合使用来解决, 可以先用列表的.split()分割方法进行单词分割, 再…...
[红明谷CTF 2021]write_shell 1
目录 代码审计check()$_GET["action"] ?? "" 解题 代码审计 <?php error_reporting(0); highlight_file(__FILE__); function check($input){if(preg_match("/| |_|php|;|~|\\^|\\|eval|{|}/i",$input)){// if(preg_match("/| |_||p…...
【Go - sync.once】
sync.Once 是 Go 语言标准库中的一个结构体,它的作用是确保某个操作在全局范围内只被执行一次。这对于实现单例模式或需要一次性初始化资源的场景非常有用。 典型用法 sync.Once 提供了一个方法 Do(f func()),该方法接收一个没有参数和返回值的函数 f …...
Spark RPC框架详解
文章目录 前言Spark RPC模型概述RpcEndpointRpcEndpointRefRpcEnv 基于Netty的RPC实现NettyRpcEndpointRefNettyRpcEnv消息的发送消息的接收RpcEndpointRef的构造方式直接通过RpcEndpoint构造RpcEndpointRef通过消息发送RpcEndpointRef Endpoint的注册Dispatcher消息的投递消息…...
win10安装ElasticSearch7.x和分词插件
说明: 以下内容整理自网络,格式调整优化,更易阅读,希望能对需要的人有所帮助。 一 安装 Java环境 ElasticSearch使用Java开发的,依赖Java环境,安装 ElasticSearch 7.x 之前,需要先安装jdk-8。…...
Linux中,MySQL的用户管理
MySQL库中的表及其作用 user表 User表是MySQL中最重要的一个权限表,记录允许连接到服务器的帐号信息,里面的权限是全局级的。 db表和host表 db表和host表是MySQL数据中非常重要的权限表。db表中存储了用户对某个数据库的操作权限,决定用户…...
个人电脑网络安全 之 防浏览器和端口溢出攻击 和 权限对系统的重要性
防浏览器和端口溢出攻击 该如何防 很多人都不明白 我相信很多人只知道杀毒软件 却不知道网络防火墙 防火墙分两种 : 1、 病毒防火墙 也就是我们说的杀毒软件 2、 网络防火墙 这是用来防软件恶意通信的 使用防火墙 有两种 1、 半开式规则…...
美食聚焦 -- 仿大众点评项目技术难点总结
1 实现点赞功能显示哪些用户点赞过并安装时间顺序排序 使用sort_set 进行存储,把博客id作为key,用户id作为value,时间戳作为score 但存储成功之后还是没有成功按照时间顺序排名,因为sql语句,比如最后in(5…...
拓扑图:揭示复杂系统背后的结构与逻辑
在现代软件开发和运维中,图形化的表示方式越来越重要。拓扑图,作为一种关键的可视化工具,不仅能够帮助我们理解系统的结构和组件间的关系,还能提升系统的可维护性和可扩展性。 什么是拓扑图? 拓扑图是一种展示系统或网络中各个节点(如服务器、交换机、数据库等)及其连…...
Java面试八股之什么是spring boot starter
什么是spring boot starter Spring Boot Starter是Spring Boot项目中的一个重要概念。它是一种依赖管理机制,用于简化Maven或Gradle配置文件中的依赖项声明。Spring Boot Starter提供了一组预定义的依赖关系,这些依赖关系被封装在一个单一的包中&#x…...
探究项目未能获得ASPICE 1、2级能力的原因及改进策略
项目整体未能获得ASPICE 1、2级能力的原因可能涉及多个方面,以下是基于参考文章中的信息和可能的情境进行的分析: 1.过程成熟度不足:ASPICE(Automotive Software Process Improvement and Capability Determination)是…...
WHAT - 不同 HTTP Methods 使用场景、使用方法和可能遇到的问题
目录 前言基本介绍具体介绍前置知识:幂等和非幂等幂等操作非幂等操作幂等性和非幂等性的应用场景总结 1. GET2. POST3. PUT4. PATCH1. 确保操作是幂等的2. 使用版本控制或条件更新3. 全量更新部分属性4. 使用特定操作指令5. 幂等标识符示例代码总结 5. DELETE6. HEA…...
Pytorch使用教学4-张量的索引
1 张量的符号索引 张量也是有序序列,我们可以根据每个元素在系统内的顺序位置,来找出特定的元素,也就是索引。 1.1 一维张量的索引 一维张量由零维张量构成 一维张量索引与Python中的索引一样是是从左到右,从0开始的ÿ…...
【Git多人协作开发】同一分支下的多人协作开发模式
目录 0.前言场景 1.开发者1☞完成准备工作&协作开发 1.1创建dev分支开发 1.2拉取远程dev分支至本地 1.3查看分支情况和分支联系情况 1.4创建本地dev分支且与远程dev分支建立联系 1.5在本地dev分支上开发file.txt 1.6推送push至远程仓库 2.开发者2☞完成准备工作&…...
Vue使用FullCalendar实现日历/周历/月历
Vue使用FullCalendar实现日历/周历/月历 需求背景:项目上遇到新需求,要求实现工单以日/周/月历形式展示。而且要求不同工单根据状态显示不同颜色,一个工单内部,需要以不同颜色显示三个阶段。 效果图 日历 周历 月历 安装插件…...
社交圈子聊天交友系统搭建社交app开发:陌生交友发布动态圈子单聊打招呼群聊app介绍
系统概述 社交圈子部天交友系统是一个集成即时通讯、社区互动、用户管理等功能的在线社交平台。它支持用户创建个人资料,加入兴趣围子,通过文字、图片、语音、视频等多种方式进行交流,满足用户在不同场景下的社交需求 核心功能 -,…...
【微信小程序实战教程】之微信小程序原生开发详解
微信小程序原生开发详解 微信小程序的更新迭代非常频繁,几乎每个月都会有新版本发布,这就会让初学者感觉到学习的压力和难度。其实,我们小程序的每次版本迭代都是在现有小程序架构基础之上进行更新的,如果想要学好小程序开发技术&…...
PHP身份证实名认证接口集成守护电商购物
在这个万物互联的世界里,网购已成为日常生活中不可或缺的一部分。然而,随着线上交易的增加,如何保护消费者和商家免受欺诈,确保每一笔交易的安全,成了亟待解决的难题。这时,身份证实名认证接口应运而生&…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
【决胜公务员考试】求职OMG——见面课测验1
2025最新版!!!6.8截至答题,大家注意呀! 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:( B ) A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
【向量库】Weaviate 搜索与索引技术:从基础概念到性能优化
文章目录 零、概述一、搜索技术分类1. 向量搜索:捕捉语义的智能检索2. 关键字搜索:精确匹配的传统方案3. 混合搜索:语义与精确的双重保障 二、向量检索技术分类1. HNSW索引:大规模数据的高效引擎2. Flat索引:小规模数据…...
【汇编逆向系列】四、函数调用包含单个参数之Double类型-mmword,movsd,mulsd,addsd指令,总结汇编的数据类型
一、汇编代码 上一节开始,讲到了很多debug编译独有的汇编方式,为了更好的区分release的编译器优化和debug的区别,从本章节开始将会提供debug和release的汇编用作对比 Debugb编译 single_double_param:00000000000000A0: F2 0F 11 44 24 08…...
