基本匹配条件
- 数值比较
字段必须是数值类型
类型 | 比较 | 例子 |
= | 等于 | 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;