基本匹配条件

  • 数值比较
    字段必须是数值类型

类型

比较

例子

=

等于

id=3

>

大于

uid > 3

>=

大于等于

uid >= 3

<

小于

uid < 3

<=

小于等于

uid <= 3

!=

不等于

uid != 3

mysql> select 字段名 from 库名.表名 where 数值表达式;
mysql> select uid from db3.user where uid <= 5;
  • 字符比较/匹配空/非空
    字段必须是字符类型

类型

比较

例子

=

等于

name = “root”

!=

不等于

name != “root”

is null


shell is null

is not null

非空

shell is not null

mysql> select 字段名 from 库名.表名 where 字符比较表达式;
mysql> select name from db3.user where name="root";
  • 逻辑匹配
    多个判断条件时使用

类型

用途

格式

or

逻辑或

条件1 or 条件2

and

逻辑与

条件1 and 条件2

! 或 not

逻辑非

mysql> select 字段名 from 库名.表名 where 条件1 or/and 条件2;
mysql> select name from db3.user where uid=10 or shell="/bin/bash";
  • 范围匹配 / 去重显示
    匹配范围内的任意一个值即可

类型

比较

in (值列表)

在…里…

not in (值列表)

不在…里…

between 数字 and 数字

在…之间…

distinct 字段名

去重显示

msyql> select 字段名 from 库名.表名 where 字段名 in(值列表);
mysql> select uid from db3.user where uid in (0,5,9);

高级匹配条件


_ 下划线

标识一个字符

%

标识0~n个字符

mysql> server 字段名 from 库名.表名 where 字段名 like '通配符';

正则符号

描述

^

开始

$

结尾

.

单个字符

*

任意字符

|

或者

mysql> select 字段名 from 库名.表名 where 字段名 regexp '正则表达式';

正则元字符 ^ $ . [ ] * |

  • 四则运算
    字段必须是数值类型

符号

用途

例子

+

加法

uid + gid

-

减法

uid - gid

*

乘法

uid * gid

/

除法

uid / gid

%

取余 (求模)

uid % gid

( )

提高优先级

( uid + gid ) / 2

mysql> select name , uid ,gid , (uid+gid) /2 pjz from db3.user where name='bin';

操作查询结果


函数

用途

avg (字段名)

统计字段平均值

sum (字段名)

统计字段和

min (字段名)

统计字段最小值

max (字段名)

统计字段最大值

count (字段名)

统计字段值个数



asc

生序排序

desc

将序排序

mysql> select 字段名 from 库名.表名 order by 字段名 [asc|desc];

注 : 通常是数值类型字段


mysql >select 字段名 from 表名.字段名 group by 字段名;

注 : 通常是根据字符类型字段进行分组查询


mysql> select 字段名 from 库名.表名 having 条件表达式;

显示查询结果的前几条记录

mysql> select 字段名 from 库名.表名 limit 数字;

显示指定范围内的查询记录

mysql> select 字段名 from 库名.表名 limit 数字1,数字2;