MySQL笔记之运算符使用详解

运算符包括四类,分别是:算数运算符、比较运算符、逻辑运算符和位运算符

Mysql可以通过运算符来对表中数据进行运算,比如通过出生日期求年龄等

运算符包括四类,分别是:算数运算符、比较运算符、逻辑运算符和位运算符

算数运算符
加、减、乘运算

代码如下:

mysql> select a,a+5,a*2 from t1; +------+------+------+ | a    | a+5  | a*2  | +------+------+------+ |   24 |   29 |   48 | +------+------+------+  row in set (0.00 sec)

这里的原值为24,后面也可以使用混合运算,只需要注意优先级即可

除法和取模运算

代码如下:

mysql> select a,a/3,a div 3,a%5,mod(a,5) from t1; +------+--------+---------+------+----------+ | a    | a/3    | a div 3 | a%5  | mod(a,5) | +------+--------+---------+------+----------+ |   24 | 8.0000 |       8 |    4 |        4 | +------+--------+---------+------+----------+  row in set (0.00 sec)

此处 / 和 div 代表整除,% 和 mod 代表取模

要注意的是,如果被除数为0,那么计算结果是NULL

比较运算符 数值比较

代码如下:

mysql> select a,a=24,a<12,a>40,a>=24,a<=24,a!=24,a<>24,a<=>24 from t1; +------+------+------+------+-------+-------+-------+-------+--------+ | a    | a=24 | a<12 | a>40 | a>=24 | a<=24 | a!=24 | a<>24 | a<=>24 | +------+------+------+------+-------+-------+-------+-------+--------+ |   24 |    1 |    0 |    0 |     1 |     1 |     0 |     0 |      1 | +------+------+------+------+-------+-------+-------+-------+--------+  row in set (0.00 sec)

这里的1代表真,0代表假,需要说明的是<>和<=>

<>代表不等于,等同于!=

<=>代表等于,等同于=

此外,等于和不等于不仅可以比较数值,还能比较字符串

字符串比较

代码如下:

mysql> select a,a=‘24‘,‘ha‘<>‘ha‘,‘xa‘=‘xa‘,‘b‘!=‘b‘ from t1; +------+--------+------------+-----------+----------+ | a    | a=‘24‘ | ‘ha‘<>‘ha‘ | ‘xa‘=‘xa‘ | ‘b‘!=‘b‘ | +------+--------+------------+-----------+----------+ |   24 |      1 |          0 |         1 |        0 | +------+--------+------------+-----------+----------+  row in set (0.00 sec)

is null 和is not null

代码如下:

mysql> select a,a is null, a is not null from t1; +------+-----------+---------------+ | a    | a is null | a is not null | +------+-----------+---------------+ |   24 |         0 |             1 | +------+-----------+---------------+  row in set (0.00 sec)

这里可以判断是否为空,NULL也可以跟NULL比较

between and和not between and

代码如下:

mysql> select a,a between 15 and 30,a not between 15 and 30 from t1; +------+---------------------+-------------------------+ | a    | a between 15 and 30 | a not between 15 and 30 | +------+---------------------+-------------------------+ |   24 |                   1 |                       0 | +------+---------------------+-------------------------+  row in set (0.00 sec)

between and 和not between and可以判断数值是否在某一区间内

in
mysql> select a,a in(1,2,23),a in(24,12,22) from t1;
+------+--------------+----------------+
| a    | a in(1,2,23) | a in(24,12,22) |
+------+--------------+----------------+
|   24 |            0 |              1 |
+------+--------------+----------------+
 row in set (0.00 sec)
判断操作数是否在某一集合内

like

代码如下:

mysql> select s,s like ‘beijing‘,s like ‘b%g‘,s like ‘bei____‘,s like ‘%jing‘ from t2; +---------+------------------+--------------+------------------+----------------+ | s       | s like ‘beijing‘ | s like ‘b%g‘ | s like ‘bei____‘ | s like ‘%jing‘ | +---------+------------------+--------------+------------------+----------------+ | beijing |                1 |            1 |                1 |              1 | +---------+------------------+--------------+------------------+----------------+  row in set (0.00 sec)

ike可以用来匹配字符串,_代表单个字符,%代表多个字符

逻辑运算符 与运算

代码如下:

mysql> select 2&&2,2&&null,2 and 3,2 and 2; +------+---------+---------+---------+ | 2&&2 | 2&&null | 2 and 3 | 2 and 2 | +------+---------+---------+---------+ |    1 |    NULL |       1 |       1 | +------+---------+---------+---------+  row in set (0.00 sec)
这里&&和and意思一样

或运算

代码如下:

mysql> select 2||2,2||null,2 or 3,2 or 0; +------+---------+--------+--------+ | 2||2 | 2||null | 2 or 3 | 2 or 0 | +------+---------+--------+--------+ |    1 |       1 |      1 |      1 | +------+---------+--------+--------+  row in set (0.00 sec)
这里||和or的意思一样

非运算

代码如下:

mysql> select !1,!2,!null; +----+----+-------+ | !1 | !2 | !null | +----+----+-------+ |  0 |  0 |  NULL | +----+----+-------+  row in set (0.00 sec)
此外还有位运算,目前还没用到,等用到的时候再补上

时间: 2024-08-30 06:11:15

MySQL笔记之运算符使用详解的相关文章

图解MYSQL JOIN ON,SQL JOIN 详解,数据库sql join语句

对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚.Coding Horror上有一篇文章(实在不清楚为什么Coding Horror也被墙)通过 文氏图 Venn diagrams 解释了SQL的Join.我觉得清楚易懂,转过来. 假设我们有两张表. Table A 是左边的表. Table B 是右边的表. 其各有四条记录,其中有两条记录是相同的,如下所示

深入MySQL用户自定义变量:使用详解及其使用场景案例

一.前言 在前段工作中,曾几次收到超级话题积分漏记的用户反馈.通过源码的阅读分析后,发现问题出在高并发分布式场景下的计数器上.计数器的值会影响用户当前行为所获得积分的大小.比如,当用户在某超级话题下连续第n(n即计数器的值)次进行转发帖子时,将会获得与n相关的分数.然而,在第一次改进后问题依然存在.所以,这次在之前的基础上,通过使用MySQL变量的途径来解决该问题. 二.到底MySQL的变量分哪几类? MySQL变量一共分为两大类:用户自定义变量和系统变量.如下: 用户自定义变量 局部变量 会话

hadoop 学习笔记:mapreduce框架详解

hadoop 学习笔记:mapreduce框架详解 开始聊mapreduce,mapreduce是hadoop的计算框架,我 学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密.这个可能是我做技术研究的 思路有关,我开始学习某一套技术总是想着这套技术到底能干什么,只有当我真正理解了这套技术解决了什么问题时候,我后续的学习就能逐步的加快,而学习 hdfs时候我就发现,要理解hadoop框架的意义,hdfs和mapreduce是密不

运算符重载详解

1.运算符重载定义: C++中预定义的运算符的操作对象只能是基本数据类型.但实际上,对于许多用户自定义类型(例如类),也需要类似的运算操作.这时就必须在C++中重新定义这些运算符,赋予已有运算符新的功能,使它能够用于特定类型执行特定的操作.运算符重载的实质是函数重载,它提供了C++的可扩展性,也是C++最吸引人的特性之一. 运算符重载是通过创建运算符函数实现的,运算符函数定义了重载的运算符将要进行的操作.运算符函数的定义与其他函数的定义类似,惟一的区别是运算符函数的函数名是由关键字operato

三元运算符用法详解

三元运算符用法详解: 此运算符是一种非常常用的元素符号,如果使用得当可以省却不少代码.三元运算符也可以称作为条件运算符,可以说是if...else语句的一种简化形式,下面就结合实例简单介绍一下如何实现次运算符,先看一下运算符的语法结构: 表达式一?表达式二:表达式三 三元运算符之所以称作三元,就是因为具有三个操作数.当表达式一的返回值为true的时候,则返回表达式二的值,否则返回表达式三的值.下面看一段代码实例: <!DOCTYPE HTML> <html> <head>

CentOS 6.5 MySQL/MariaDB数据备份与恢复备份详解

MySQL/MariaDB数据备份与恢复备份 数据对我们来说再重要不过了,那我们如何做到对数据尽可能的安全呢,当我们的数据丢失了那又该怎么做呢,所以说数据备份对我们的数据安全性来说太重要了. 数据对我们来说再熟悉不过了,也最平常不过了,我们每天都在接触各色各样的数据,数据记录了我们平常相关的业务信息,所以数据对于我们来说是很重要的,这么重要的数据如果我们的数据丢失了那我们是不是相关的业务都没法进行了呢,这应该是个很麻烦的问题,那我们怎么保护我们的数据的安全呢,这就要用到我们的数据备份了. 如何执

Mysql中关于 group_concat函数详解

group_concat()主要功能:能将相同的行组合起来 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔符']) 基本查询 Sql代码   select * from aa; +------+------+| id| name |+------+------+|1 | 10||1 | 20||1 | 20||2 | 20||3 | 200 ||3 | 500 |+------+---

MYSQL常用内置函数详解说明

函数中可以将字段名当作变量来用,变量的值就是该列对应的所有值:在整理98在线字典数据时(http://zidian.98zw.com/),有这要一个需求,想从多音字duoyinzi字段值提取第一个拼音作为拼音pinyin字段的值,如:duoyinzi(ā,á,ǎ,à,a),想提取ā作为pinyin的值:数据有好几万条,不想用程序一条条处理,只想用一个sql来实现,后来了解了下MYSQL常用内置函数,是可以做到的:sql:UPDATE ol_zidian set pinyin=LEFT(duoyi

mysql中event的用法详解

一.基本概念mysql5.1版本开始引进event概念.event既“时间触发器”,与triggers的事件触发不同,event类似与linux crontab计划任务,用于时间触发.通过单独或调用存储过程使用,在某一特定的时间点,触发相关的SQL语句或存储过程. 二.适用范围对于每隔一段时间就有固定需求的操作,如创建表,删除数据等操作,可以使用event来处理. 例如:使用event在每月的1日凌晨1点自动创建下个月需要使用的三张表. 三.使用权限单独使用event调用SQL语句时,查看和创建