where字句常用的查询条件及用法

where字句常用的查询条件

查询条件 谓词
比较 = , > , < , >= , <= , (<> , !=不等于)
确定范围 BETWEEN AND(相当于闭集合[BETWEEN,AND]) , NOT BETWEEN AND(不属于闭集合[BETWEEN,AND]的范围)
确定集合 IN , NOT IN
字符匹配 LIKE NOT LIKE 通配符 % ,_
多重运算(逻 辑运算) AND, OR , NOT
空值 IS NULL , IS NOT NULL

使用案例

-- where字句常用的查询条件及用法
-- 比较   = , > , < , >= , <= ,   (<> , !=不等于)
-- 用法   修改id为1的学生的姓名为狂铁
UPDATE `student` SET `name`='狂铁' WHERE id=1;
-- 修改年龄不等于3的学生的姓名
UPDATE `student` SET `name`='虞姬' WHERE age <>3;
-- 查询studeng表中性别为女的学生ID
SELECT id 
FROM student
WHERE sex='女';
-- 查询年龄小于等于4的学生的id和姓名
SELECT id ,`name`  
FROM student  
WHERE age >=4;


-- 确定范围   BETWEEN   AND(相当于闭集合[BETWEEN,AND]) ,NOT  BETWEEN   AND(不属于闭集合[BETWEEN,AND]的范围)
-- 查询年龄在4到六岁的学生的id和姓名
SELECT id,`name` FROM student  WHERE age BETWEEN 4 AND 6;
-- 查询年龄不在3到7岁的学生的所有信息
SELECT * FROM student WHERE age NOT BETWEEN 3 AND 7;


-- 确定集合,和
SELECT age FROM student WHERE IN(4,5,6)
SELECT age FROM student WHERE age=3 OR age=4 OR age=5


-- 字符匹配  LIKE   NOT LIKE   通配符  %(代表任意长度的字符串) ,_(代表任意单个字符)  
-- 查询姓名为两个字且第一个字为'狂'的学生的所有信息
SELECT * FROM student WHERE `name` LIKE '狂_';
-- 查询姓名第一个字为'狂'的学生的所有信息
SELECT * FROM student WHERE `name` LIKE '狂%'
-- 查询姓名第二个字为'狂'的学生的所有信息
SELECT * FROM student WHERE `name` LIKE '_狂%'
-- 查询姓名第一个字不为'狂'的学生的所有信息
SELECT * FROM student WHERE `name` NOT LIKE '狂%'
-- 如果用户查询的字符串本身就含有通配符,这时就要用ESCAPE'\'(换码字符)对通配符转义
-- 格式  WHERE `name` LIKE `字符串` ESCAPE'\';

 
 -- 空值  IS NULL ,  IS  NOT NULL
 --  查询地址为空的所有学生的信息
 SELECT * FROM student WHERE `address` IS NULL;


-- 多重运算(逻辑运算)  AND, OR  , NOT
-- 查询姓名为两个字且第一个字为'狂'且年龄大于4的学生的所有信息
SELECT * FROM student WHERE `name`LIKE '狂_' AND age>4;
-- 查询姓名为两个字且第一个字为'狂'和第一个字为'虞'的学生的所有信息
SELECT * FROM student WHERE `name`LIKE '狂_' OR `name` LIKE '虞_';

你可能感兴趣的:(MySQL,数据库,mysql,sql,where)