条件查询
运算符
>, >=, <, <= 大于,大于等于,小于,小于等于= 等于,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 是 NULLIS NOT NULL 不是 NULLLIKE模糊匹配 % 表示任意多个(包括 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 是会修改数据库 服务器 上面原始数据的!
