条件查询
运算符
>, >=, <, <= 大于,大于等于,小于,小于等于
= 等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=> 等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1)
!=, <> 不等于
BETWEEN a0 AND a1范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
IN (option, ...) 如果是 option 中的任意一个,返回TRUE(1)
IS NULL 是 NULL
IS NOT NULL 不是 NULL
LIKE模糊匹配 % 表示任意多个(包括 0 个)任意字符; _ 表示任意一个字符
AND 多个条件必须都为 TRUE(1),结果才是 TRUE(1)
OR 任意一个条件为 TRUE(1), 结果为 TRUE(1)
NOT 条件为 TRUE(1),结果为 FALSE(0)
在 selcet
的后面加上一个where 字句
,后面跟上一个具体的筛选条件
语法;select 列名 from 表名 where 条件
;
(
>,>=,<,<=
)这一组是比较熟悉的大小操作,= 表示比较相等,而不是赋值。注意:NULL = NULL 结果仍然是 NULL,条件是不成立的。
(<=>
)也是比较相等,用法和 = 基本一直,只是 使用 <=> 比较空值结果是 真。NULL <=> NULL 进行比较,结果就是真。
- where条件可以使用表达式,但是不能使用别名
and 的优先级高于 or
在同时使用时,需要使用小括号()包裹优先执行的部分
比较查询
and与or
范围查询
in 查询
模糊查询 like
like
搭配通配符来使用,只要对方的字符串符合你此处的描述的一个形式就行.%
代表任意个任意字符~_
代表任意一个字符
此处这里的'孙%'
就能匹配到任意 孙 开头的字符串,其他的类型于这样的名字也能匹配到.
比如: 孙
,或者 孙sadsadasda
但是类似于 这种就匹配不到:aaa孙aaa
,bbb孙
null查询
语法:
select 列名 from 表名 where 条件
查找语文成绩为空的同学信息:
注意:这里 比较 NULL 是不能用 = 的, = 是无法比较的,结果是 假,如果要比较空 只能用 <=> 比较
或者 这样写 也可以
分页查询
SQL中可以通过
limit
来实现分页查询
语法:select 列名 from 表名 limt 值(数字)
修改
语法:
update 表名 set 列名 = 值,列名 = 值 where 条件
注意:这里的set
是不能省略
的,where 条件—指的是针对哪些进行修改,符合条件的就会修改,不符合条件的就不变,如果这里的 where 省略了,就是修改所有记录.update 是会修改数据库 服务器 上面原始数据的!