MySQL基础(三):过滤数据

过滤数据



使用SELECT语句的WHERE子句指定搜索条件。

使用WHERE子句



在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤。 WHERE子句在表名(FROM子句)之后给出,如下所示:

输入

SELECT prod_name, prod_price
FROM products
WHERE prod_price = 2.50;

输出

分析

这条语句从products表中检索两个列,但不返回所有行,只返回prod_price值为2.50的行。

注意:在同时使用ORDERBY和WHERE子句时,应该让ORDER BY位于WHERE之后,否则将会产生错误。

WHERE子句操作符



我们在关于相等的测试时看到了第一个WHERE子句,它确定一个列是否包含特定的值,下表中列出的所有条件操作符。

范围值检查


下面的例子说明如何使用BETWEEN操作符,它检索价格在5美元和10美元之间的所有产品:

输入

SELECT prod_name, prod_price
FROM products
WHERE prod_price BETWEEN 5 AND 10;

输出

分析

从这个例子中可以看到,在使用BETWEEN时,必须指定两个值所需范围的低端值和高端值。这两个值必须用AND关键字分隔。BETWEEN匹配范围中所有的值,包括指定的开始值和结束值。

空值检查



SELECT语句有一个特殊的WHERE子句,可用来检查具有NULL值的列。这个WHERE子句就是IS NULL子句。其语法如下:

输入

SELECT cust_id
FROM customers
WHERE cust_email IS NULL;

输出

分析

注意:在通过过滤选择出不具有特定值的行时,你可能希望返回具有NULL值的行。但是,不行。因为未知具有特殊的含义,数据库不知道它们是否匹配,所以在匹配过滤或不匹配过滤时不返回它们。因此,在过滤数据时,一定要验证返回数据中确实给出了被过滤列具有NULL的行。

原文地址:https://www.cnblogs.com/mxsf/p/12687792.html

时间: 2024-11-05 16:26:34

MySQL基础(三):过滤数据的相关文章

04 mysql 基础三 (进阶)

mysql 基础三 阶段一 mysql 单表查询 1.查询所有记录 select * from department; ? select * from student; ? select * from student_detail; 2.查询选中列记录 select s_name from student; 3.查询指定条件下的记录 select s_name from student where s_id>2; 4.查询后为列取别名 select s_name as 姓名 from stude

MySQL基础学习之数据查询

一般查询 SELECT * FROM 表名 SELECT 属性名  FROM  表名 条件查询 SELECT 属性名 FROM 表名  WHERE 条件表达式 查询数据值1,数据值2的表单 SELECT *  FROM  表名  WHERE  属性名 [NOT] IN(数据值1,数据值2....) 查询数值1,数据2的表单 SELECT *  FROM  表名  WHERE  属性=值  AND 属性1=值1 查询数值1到数值2之间的表单 SELECT *  FROM  表名  WHERE  属

MySQL基础学习之数据表

查看数据表 SHOW TABLE; 查看数据表详细结构 SHOW CREATE TABLE 表名\G; 创建数据表 CREATE TABLE 表名(数据名 类型,数据名1  类型2); CREATE TABLE department ( d_id INT(10) , d_name VARCHAR(20) , function VARCHAR(20) , address VARCHAR(30) ); 删除数据表 DROP TABLE 表名; 修改数据表 修改数据表名        ALTER TA

MySQL基础(四):数据过滤

数据过滤 WHERE子句组合NOT和IN操作符以建立功能更强的更高级的搜索条件. AND操作符 为了通过不止一个列进行过滤,可使用AND操作符给WHERE子句附加条件.下面的代码给出了一个例子: 输入 SELECT prod_id, prod_price, prod_name FROM products WHERE vend_id = 1003 AND prod_price <= 10; 输出 分析 此SQL语句检索由供应商1003制造且价格小于等于10美元的所有产品的名称和价格.这条SELEC

mysql基础之插入数据

现在我们已经建立了二个表,接下来看一下如何向表中添加数据.我们可以使用最简单的方法:INSERT语句.使用INSERT语句,可以为表添加一条或多条记录.我们先向authors表中添加数据,再向books表中添加数据,因为books表引用了authors表中的字段: INSERT INTO authors(author_last,author_first,country) VALUES ('Greene','Graham','United Kingdom'); SELECT LAST_INSERT

mysql基础三(视图、触发器、函数、存储过程、事务、防注入)

一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 1.创建视图 -格式:CREATE VIEW 视图名称 AS SQL语句 CREATE VIEW v1 AS SELET nid, name FROM A WHERE nid > 4 2.删除视图 --格式:DROP VIEW 视图名称 DROP VIEW v1 3.修改视图 -- 格式:ALTER VIEW 视图名称 AS SQL

MYSQL使用正则表达式过滤数据

一.正则与LIKE的区别 Mysql的正则表达式仅仅使SQL语言的一个子集,可以匹配基本的字符.字符串.例如:select * from wp_posts where post_name REGEXP'hello',可以检索出列post_name中所有包含hello的行 REGEXP'.og' .是正则表达式中里一个特殊的字符.它表示匹配一个字符,因此,dog,hog,mog等等都能匹配. 注意: 关于LIKE和REGEXP的区别:LIKE匹配整个列.如果被匹配的文本仅在列值中出现,LIKE并不

Mysql基础(三)

#DML语言 /* 数据操作语言 插入:insert insert into 表名(列名,...) values(值1,...); insert into 表名 set 列名=值, 列名=值,... 修改:update 删除:delete */ CREATE TABLE beauty( id INT(11) PRIMARY KEY, `name` VARCHAR(50), sex CHAR(1), borndate DATETIME, phone VARCHAR(11), photo BLOB,

MySQL基础 三 数值类型,索引

My 1am,1pm 数值类型 Int(4) Float(5,2) Varchar(4) 枚举类型 Enum('female','male') Set('book','football','A'-.最多64个) 约束条件 Null                         Default                        Extra 默认为允许                   默认null Not null                     default 值 Key