MySQL入门(5)——运算符
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)——运算符的更多相关文章
- 21分钟 MySQL 入门教程(转载!!!)
		
21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...
 - MySQL入门转载
		
21分钟 MySQL 入门教程 http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html 目录 一.MySQL的相关概念介绍 二.Wi ...
 - MySQL入门笔记(二)
		
MySQL的数据类型.数据库操作.针对单表的操作以及简单的记录操作可参考:MySQL入门笔记(一) 五.子查询 子查询可简单地理解为查询中的查询,即子查询外部必然还有一层查询,并且这里的查询并非仅 ...
 - 重新学习MySQL数据库1:无废话MySQL入门
		
重新学习Mysql数据库1:无废话MySQL入门 开始使用 我下面所有的SQL语句是基于MySQL 5.6+运行. MySQL 为关系型数据库(Relational Database Manageme ...
 - Mysql学习总结(12)——21分钟Mysql入门教程
		
21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数 ...
 - 最新MySQL入门篇
		
一.SQL简介  SQL:结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系 ...
 - MySQL入门02-MySQL二进制版本快速部署
		
在上篇文章 MySQL入门01-MySQL源码安装 中,我们介绍了MySQL源码安装的方法. 源码安装虽然有着更加灵活和更加优化等诸多优势.但源码编译安装部署的过程相对复杂,而且整个过程所花费的时间很 ...
 - MYSQL入门全套(第三部)
		
MYSQL入门全套(第一部) MYSQL入门全套(第二部) 索引简介 索引是对数据库表中一个或多个列(例如,employee 表的姓名 (name) 列)的值进行排序的结构.如果想按特定职员的姓来查找 ...
 - MySQL入门(三)
		
写了两篇<MySQL入门>以后我发现,写书的人还是都挺有本事的,起码人家知道怎么编排自己想讲的知识点,我实在是不知道该先说那里后说哪里,那我就想到什么讲什么吧. 一 写SQL 其实我是不想 ...
 
随机推荐
- shapefile 输出的地理处理注意事项(转载)
			
来源:http://resources.arcgis.com/zh-cn/help/main/10.1/index.html#//005600000013000000 多年来,Esri 为存储地理信息 ...
 - MyBatis中传参时为什么要用#{}
			
MyBatis中传参时为什么要用#{},这个问题和MyBatis如何防止SQL注入类似.不过在解释这个问题之前,先解释一下什么是SQL注入,还有些称作注入攻击这个问题. SQL注入就是SQL 对传入参 ...
 - ZOJ 2563 Long Dominoes(状压DP)题解
			
题意:n*m的格子,用1 * 3的矩形正好填满它,矩形不能重叠,问有几种填法 思路:poj2411进阶版.我们可以知道,当连续两行的摆法确定,那么接下来的一行也确定.当第一行还有空时,这时第三行必须要 ...
 - hdu2333-贪心,如何去后效性,背包太大怎么办,如何最大化最小值,从无序序列中发掘有序性质
			
补充一下我理解的中文题意.. 你要重新组装电脑..电脑有一些部件..你的预算有b,b(1~1e9),有n个部件..每个部件有类型和名称以及价钱和质量现在你要在不超过预算b的情况下..每个类型都买一个部 ...
 - docker07-数据存储
			
Docker 内部以及容器之间管理数据,在容器中管理数据主要有两种方式: 数据卷(Volumes) 挂载主机目录 (Bind mounts) 数据卷 是一个可供一个或多个容器使用的特殊目录,它绕过 U ...
 - 网站备案查询/ICP备案查询网
			
网站备案查询/ICP备案查询网 互联网站备案信息全国公安机关互联网站安全服务平台http://www.beian.gov.cn/portal/index 1 http://www.miitbeian. ...
 - 使用 js 实现十大排序算法: 冒泡排序
			
使用 js 实现十大排序算法: 冒泡排序 冒泡排序 refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
 - free online business card generator
			
free online business card generator 免费在线名片生成器 https://www.logaster.cn/business-card/ https://www.chu ...
 - perl 打印目录结构
			
更多 #!/usr/bin/perl # 递归打印目录结构 use v5.26; use strict; use utf8; use autodie; use warnings; use Encode ...
 - django学习-11.开发一个简单的醉得意菜单和人均支付金额查询页面
			
1.前言 刚好最近跟技术部门的[产品人员+UI人员+测试人员],组成了一桌可以去公司楼下醉得意餐厅吃饭的小team. 所以为了实现这些主要点餐功能: 提高每天中午点餐效率,把点餐时间由20分钟优化为1 ...