MySQL-运算符操作

MySQL运算符操作

// 以下均已此表为示例 sanguo
/*
+------+-----------+--------+--------+------+---------+
| id   | name      | gongji | fangyu | sex  | country |
+------+-----------+--------+--------+------+---------+
|    1 | 诸葛亮    |    120 |     20 | 男   | 蜀国    |
|    2 | 司马懿    |    119 |     25 | 男   | 魏国    |
|    3 | 关羽      |    188 |     60 | 男   | 蜀国    |
|    4 | 赵云      |    200 |     55 | 男   | 魏国    |
|    5 | 孙权      |    110 |     20 | 男   | 吴国    |
|    6 | 貂蝉      |    666 |     10 | 女   | 魏国    |
|    7 | NULL      |   1000 |     99 | 男   | 蜀国    |
|    8 |           |   1005 |     88 | 女   | 蜀国    |
+------+-----------+--------+--------+------+---------+
*/
数值比较/字符比较
  • 数值比较:=,!=,>,>=,<,<=
  • 字符比较:=,!=
# 查找攻击力高于150的英雄的名字和攻击值
select name,gongji from sanguo where gongji > 150;
# 将赵云的攻击力设置为360,防御力设置为68
update sanguo set gongji = 360,fangyu = 68 where name = "赵云";
逻辑比较
  • and (两个或多个条件同时成立)
  • or (任意一个条件成立即可)
# 找出攻击值高于200的蜀国英雄的名字、攻击力
select name,gongji from sanguo where gongji > 200 and country = "蜀国";
# 将吴国英雄中攻击值为110的英雄的攻击值改为100,防御力改为60
update sanguo set gongji = 10,fangyu = 60 where gongji = 110 and country = "吴国";
# 查找蜀国和魏国的英雄信息
select * from sanguo where country = "蜀国" or country = "魏国";
范围内比较
  • between 值1 and 值2
  • where 字段名 in(值1,值2,...)
  • where 字段名 not in(值1,值2,...)
# 查找攻击值100-200的蜀国英雄信息
select * from sanguo where country = "蜀国" and gongji between 100 and 200;
# 找到蜀国和吴国以外的国家的女英雄信息
select * from sanguo where country not in("蜀国","吴国") and sex = "女";
# 找到id为1、3或5的蜀国英雄 和 貂蝉的信息
select * from sanguo where name = "貂蝉" or (id in(1,3,5) and country = "蜀国");
空、非空
  • 空:where 字段名 is null
  • 非空:where 字段名 is not null
  • 空值,只能用 is 或者 is not 去匹配
  • 空字符串,用 = 或者 != 去匹配
# 姓名为NULL值的蜀国女英雄信息
select * from sanguo where name is null and country = "蜀国" and sex = "女";
# 姓名为 "" 的英雄信息
select * from sanguo where name = "";
模糊比较
  • where 字段名 like 表达式
  • _ : 匹配单个字符
  • % : 匹配0到多个字符
# 查询名字为三个字的
select * from sanguo where name like "___";
# 查询所有姓赵的英雄
select * from sanguo where name like "赵%";
# NULL不会被统计,只能用is、is not去匹配
# 空字符串可以被匹配

你可能感兴趣的:(MySQL-运算符操作)