mysql中where查询语句怎么用
我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。
语法
以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:
SELECT field1, field2,...fieldN FROM table_name1, table_name2... [WHERE condition1 [AND [OR]] condition2.....
查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
●你可以在 WHERE 子句中指定任何条件。
●你可以使用 AND 或者 OR 指定一个或多个条件。
●WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
●WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。
示例如下:
1、按关系运算符筛选
等于 =
大于 >
大于等于>=
小于<
小于等于<=
不等于!=
例如
select name from student where name='张三' ## 查询name等于张三的数据 select name from student where name!='张三' ## 查询name不等于张三的数据 select name from student where age>20 ## 查询age大于20的数据
2、逻辑运算符
and
or
not
例如
select * from student where age>10 and name='张三' ##查询age大于10且name等于"张三"的数据。 select * from student where not name='张三' ##查询name不等于"张三"的数据。
3、范围查询
in
between 大数值 and 小数值
例如
select * from student where age in (10,11) ##查询age等于10或者11的数据。 select * from student where age=10 or age=11 ## 与上面语句等效。 select * from student where age between 10 and 24 ##查询age在10到24之间的数据,包含边界值。
4、空判断
select * from student where address is null ##查询address为null的数据 select * from student where address is not null ##查询address不为null的数据
5、模糊查询
like
%表示任意多个字符(包括0)
_表示任意一个字符
escape:取消%或_字符的通配符特性
例如
select * from student where name like '王%' ##查询name中姓张的数据。 select * from student where name like '张_ ##查询name中两个字姓张的数据。 select * from student where name like '%A%%' escape 'A' ##查询name中含有"%"的数据