算数运算符

加法运算符 +

减法运算符 -

乘法运算符 *

除法运算符 /

假设我们的系统中记录的学生年龄都是周岁,现在我们希望得到学生的虚岁,可以对查询数值采用加1的办法。

比如说,这样可以查询周岁

select name as 姓名, age as 周岁
    from Student;

这样可以查询虚岁

select name as 姓名, age + 1 as 虚岁
    from Student;

 注意:当null参与运算的时候,得到的结果仍然为null

比较运算符

等于 =

不等于 <> 或者 !=

大于等于 >=

大于 >

小于等于 <=

小于 < 

这里面有两个特别值得注意的点

第一,在mysql中,等于是=,而不是平常经常会用的==,而且mysql中也不允许使用==。

 第二,在mysql中,不等于使用<>或者!=两种形式都是可以的。

比较运算符的使用

比较运算符常常被使用在where子句的条件之中,用于进行筛选,比如说,找出未成年的学生

select name, age
    from Student
    where age < 18;

 另外,比较运算符也是可以用于比较日期的,因此,也可以找出,在2004年以前出生的学生

select name, age
    from Student
    where birth < '2004-01-01';

比较运算符与null

null是无法进行比较的,因为null代表了不知道,我们自然没办法与一个不知道的东西进行比较。

另外,如果我们想要取出为null的数据的时候,也不可以通过=null来作为判断条件。

为了能够判断是否为null,mysql中也提供了专属的运算符

is null 判断是否为null

因此,如果我们希望得到,年龄为null的学生的数据,应该这样做

select name, age
    from Student
    where age is null;

逻辑运算符

逻辑与 and

逻辑或 or

逻辑非 not

and表示与,两个条件之中,都成立时,结果为真

or表示或,两个条件之中,只要有一个条件成立,结果为真

not表示非,对一个条件进行取反,表示不这样,结果为相反

另外需要注意的是,逻辑运算符的优先级中,not > and > or,如果你在使用中搞不清楚它们的优先级关系的话,建议多使用一些括号,这可以尽可能的避免产生误会。

逻辑运算符与null

之前我们已经提到了,比较运算符不能直接作用于null。但是需要注意的事情是,同样的,逻辑运算符作用于null,也会产生一些意想不到的效果。

当一个真值and一个null的时候,得到的结果是不确定。

当一个假值or一个null的时候,得到的结果是不确定。

不确定的意思是,它既不是真,也不是假,因此不会触发条件,但是对他使用not进行取反以后得到的也不是真值,他只是不确定。因此,在逻辑运算符要和null一起使用的时候,要格外注意这一点。它也许不是你想要的效果。