简要介绍MySQL操作符
  常用:
    算术运算符、比较操作符、逻辑操作符、位运算符……

一、算术运算符
  +:加
  -:减
  *:乘
  /:除,返回商
  %,mod():除,返回余数
mysql> select  %,mod(,);
+------+----------+
| % | mod(,) |
+------+----------+
| | |
+------+----------+
注意:除法运算中,若除数为0(无意义),是非法除数,返回结果为null。
二、比较操作符
  ---利用比较操作符在DQL语句中实现按条件的检索

示例用表:球员信息表player、比赛信息表matches
、获得联盟会员号码为7060的球员信息
mysql> select * from player where leagueno=’’; 、获得没有联盟会员号码的球员信息
mysql> select * from player where leagueno=null;
error……报错
mysql> select * from player where leagueno <=> null;

mysql> select * from player where leagueno is null;
“<=>”安全的等于运算符:和“=”类似,在操作数相等时值为 ,不同之处在于即使
操作的值为 NULL 也可以正确比较。 、找出获胜局数等于2且输掉局数等于3的比赛信息
条件中可以进行列值的成对比较
mysql> select * from matches where (won,lost)=(,);
注意:条件(,)>(,)并不等于(>) and (>),而是等于(2>1) or (2=1 and 4>3)

说明:使用不同运算符的成对比较在转换为标量表达式比较时,都有各自的转换规则。 、between的范围比较:使用BETWEEN …AND… 操作符可以测试列值是否在一个取值范围之内
例:找出1962—1964年之间出生的球员的编号、出生日期
mysql> select playerno,birth_date from players where birth_date between '1962-01-01' and '1964-01-01'; 、in操作符:测试一个列值是否在一个值列表中(值列表中可以是字面量、列或标量子查询)
例1:得到那些出生在1962、1963或1970的球员的编号、出生年份
mysql> select playerno,year(birth_date) from players where year(birth_date) in (,,);
例2:两局获胜或者两局输掉的所有比赛
mysql> select * from matches where in (won,lost);
例3:比分为3比1和3比2的所有比赛(in的成对比较)
mysql> select * from matches where (won,lost) in ((,),(,));
说明:在MySQL内部,in转换成or操作,not in转换成and操作 、 like操作符:实现模式匹配查询或者模糊查询
like “匹配模式字符串”测试一个列值是否匹配给出的模式
特殊含义的通配字符:
  %:表示0个或者任意多个字符
  _:只表示一个任意字符
例1:找出名字以大写字母B开头的球员
mysql> select * from players where name like ‘B%’;
例2:得到名字以小写字母r结尾的球员
mysql> select * from players where name like ‘%r’;
例3:得到名字的第二个字母为e的球员的名字和编号
mysql> select name,playerno from players where name like ‘_e%’;
例4:找出名字中包含一个下划线的球员
mysql> select playerno,name from players where name like ‘%/_%’ escape ‘/’;
注意:如果转义字符指定反斜杠\,必须是escape ‘\\’(反斜杠\在进行模式匹配时,会被剥离一次)
例如:
mysql> select * from table_name where col_name like ‘%\\\%’ escape ‘\\’;
##反斜杠会被语法分析程序剥离一次,在进行模式匹配时,又会被剥离一次,最后会剩下一个反斜杠接受匹配.
7、regexp操作符(regular expression)
  --比like功能更加强大---正则
例1:得到名字以ba开头的球员信息
mysql> select * from players where name regexp '^ba';

例2:得到名字包含了字母a、b或c的球员信息
mysql> select * from players where name regexp '[abc]';

例3:对于名字中有字母m、e、n中的一个,并且连续出现2次的球员信息
mysql> select * from players where name regexp '[men][men]';

三、逻辑操作符
  ---逻辑运算符又称为布尔运算符,用来确认表达式的真和假
  如果在where中同时用到了and 和or运算符,先算and后算or,因为and优先级高;
  可以使用小圆括号来改变运算的顺序。
例1: 得到那些住在Stratford或者出生于1963年的球员的编号、姓名、出生日期,但是不包括那些住在Stratford并且出生于1963年的球员
mysql> select playerno,name,birth_date from players where (town='Stratford' or year(birth_date)='') and not (town='Stratford' or year(birth_date)=''); 例2:得到那些住在Stratford或者出生于1963年的球员的编号、姓名、出生日期,但是不包括那些住在Stratford并且出生于1963年的球员
mysql> select playerno,name,birth_date from players where (town='Stratford') xor (year(birth_date)='');

四、位运算符
---位运算是将给定的操作数转化为二进制后, 对各个操作数每一位都进行指定的逻辑运算,得到的二进制结果转换为十进制数后就是位运算的结果
mysql> SELECT  & ;
+---------+
| & |
+---------+
| |
+---------+
row in set (0.01 sec) mysql> SELECT << ;
+--------+
| << |
+--------+
| |
+--------+
row in set (0.00 sec)
位运算符其实也就是位函数,通过mysql> ? Bit Functions了解使用,用得不多,但是要有个印象,要用的时候查看帮助

MySQL操作符的更多相关文章

  1. mysql 操作符

    1 mysql 操作符 下图表示所有操作符的执行优先级,从高到低,同一行中的操作符优先级相同,相同优先级的情况则从左到右执行 如果想改变优先级执行顺序则可以使用括号() 1.1 对比操作符 对比操作符 ...

  2. MySQL操作符与相关函数

    union(联合)union使用是关联两张表或者两个查询所查出来的数据,联合成一张表但不会出现重复数据,显示的字段必须匹配列数. select s3.id cid,s1.cityName provin ...

  3. MySQL(六)之MySQL常用操作符

    前言 在前面的MySQL学习中,我们学习了MySQL的安装,管理以及配置,还有是它的DDL.今天给大家分享一下,MySQL的操作符和它的函数这部分. 千里之行始于足下,做什么事情都要脚踏实地的去做才能 ...

  4. MySQL开发指南

    数据库开发是数据库管理系统(DBMS)和数据库应用软件设计研发的总称,数据运维.参与数据库生产环境的问题优化和解决等方面的事宜. 1.关于MySQL数据库 2.搭建MySQL环境 3.入门常用SQL. ...

  5. MySQL常用函数介绍

    MySQL常用函数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.操作符介绍 1>.操作符优先级 mysql; +----------+ | +----------+ ...

  6. 如何理解 MySQL 中的 <=> 操作符?

    问题 : 我在看以前的一个开发者的代码时看到 WHERE p.name <=> NULL 在这个查询语句中 <=>符号是什么意思啊?是不是和 =号是一样啊?还是一个语法错误啊? ...

  7. MySQL 列子查询及 IN、ANY、SOME 和 ALL 操作符的使用(转)

    MySQL 列子查询 列子查询是指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回. 一个列子查询的例子如下: SELECT * FROM article WHERE uid I ...

  8. MySQL 列子查询及 IN、ANY、SOME 和 ALL 操作符的使用

    列子查询是指子查询返回的结果集是 N 行一列,该结果通常来自对表的某个字段查询返回. 一个列子查询的例子如下: SELECT * FROM article WHERE uid IN(SELECT ui ...

  9. MySql 中的<=>操作符

    今天在学习数据库的索引优化时,关于memory存储引擎的的hash索引时,看到了操作符<=> ,这个操作符还是第一次见到,于是上网查了一下.我想大家应该知道 =  !=   <> ...

随机推荐

  1. Javaweb之Jsp

    1. JSP是什么? JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%>结束. 2. JSP带 ...

  2. Javascript把数据从一个页面的层传递到另一个页面层里面

    背景:昨天头脑发热投了某一家国企的计算机类岗位(说是有前端岗位),通过找同学内推,虽然也笔试了一大堆题目(行测题,计算机网络,http协议,英译汉,古诗文默写,自己把品质排序并且进行200字以上的阐述 ...

  3. 深入理解ajax系列第三篇——响应解码

    前面的话 我们接收到的响应主体类型可以是多种形式的,包括字符串String.ArrayBuffer对象.二进制Blob对象.JSON对象.javascirpt文件及表示XML文档的Document对象 ...

  4. mac air 上的Linux命令训练(1)

    1.cat命令 作用: 读取一个文件的全部内容,并将它输出,如果将它输出到一个目标文件,目标文件将会被替换掉. 参数: -n : 加上行号输出 -b:加上行号,但是不加空白行,输出 -s:当遇到多行空 ...

  5. Binary Tree Paths leetcode

    Given a binary tree, return all root-to-leaf paths. For example, given the following binary tree: 1 ...

  6. 剑指offer_(4)

    重建二叉树: 题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字. 例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍 ...

  7. linux版powershell安装教程(.net core版)

    powershell 传教士 原创文章 始于2016-12-20,2017-03-15改.文章版本目前博客园为最新版. 允许转载,但必须保留名字和出处,否则追究法律责任 问:powershell二进制 ...

  8. Json 与GeoJson

    1.JSON介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后 ...

  9. [TPYBoard - Micropython 之会python就能做硬件 9] 五分种学会用TPYBoard V102 制作避障小车(升级版)

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 感谢山东萝卜电子科技公司授权   一.实验器材 1.TPYboard V102板 ...

  10. 设计模式的征途—1.单例(Singleton)模式

    单例模式属于创建型模式的一种,创建型模式是一类最常用的设计模式,在软件开发中应用非常广泛.创建型模式将对象的创建和使用分离,在使用对象时无需关心对象的创建细节,从而降低系统的耦合度,让设计方案更易于修 ...