简要介绍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. TP框架 基础1

    php框架 一.真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格 ...

  2. DOM基础(三)

    对于DOM来说,知识点其实并不多,要理解DOM并不难,难的是会用.可能有的人看见DOM获取元素要这么长一串单词就觉得生无可恋了.不过说实在的,如果你能理解他的意思跟用法.而且稍微再有点英语基础的话,D ...

  3. 同步 VS 异步

    同步请求资源 请求msdn上的一个页面计算页面大小 static void Main(string[] args) { string url = "https://docs.microsof ...

  4. 《C++之那些年踩过的坑(二)》

    C++之那些年踩过的坑(二) 作者:刘俊延(Alinshans) 本系列文章针对我在写C++代码的过程中,尤其是做自己的项目时,踩过的各种坑.以此作为给自己的警惕. 今天讲一个小点,虽然小,但如果没有 ...

  5. 搭建ftp服务器实现文件共享

    FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP(File Transfer Protocol ...

  6. Java基础之路(四)--流程控制语句

    本次我们来聊一聊Java当中的循环语句. 循环语句分三种:1.for2.while3.do--while. 三种循环语句的任务是不同的,方法也是不同的.当然他们各自的流程图也是不一样的. 3.1 wh ...

  7. java根据HashMap中的值将其元素排序

    思路:HashMap或Map本身没有排序功能,若要进行较轻松的排序,可利用ArrayList中的sort方法 例子: import java.util.ArrayList; import java.u ...

  8. Python中的内置函数__init__()的理解

    有点意思,本来我是学习java的.总所周知,java也有构造函数,而python在面向对象的概念中,也有构造函数.它就是 __init__(self) 方法. 其实类似于__init__()这种方法, ...

  9. Android中查看布局文件中的控件(view,id)在哪里被调用(使用)

    在阅读别人的代码时通常是很痛苦的,有时很想要看一看布局中的控件在哪里被调用了,为之很苦恼 在这里提供一种方法.   复制要查看的控件ID,到R文件中搜索到该ID,   接下来就好办的了,选中ID按下C ...

  10. 快乐Node码农的十个习惯 转

    从问世到现在将近20年,JavaScript一直缺乏其它有吸引力的编程语言,比如Python和Ruby,的很多优点:命令行界面,REPL,包管理器,以及组织良好的开源社区.感谢Node.js和npm, ...