过滤数据
这章讲如何使用where子句指定搜索条件。
搜索条件也成为过滤条件,where在from子句之后给出。
最简单的,相等过滤
查找country字段值为‘Angola’的数据
在实际开发中,会有一个问题困扰开发者们,到底是在应用程序中过滤数据还是在查询结果的时候就过滤数据?
虽然可以在应用层过滤数据,但是不推荐这么做。原因是应用层过滤数据性能低下,而且不具备可伸缩性(结果都在代码中写死了自然没有伸缩性了),还有在应用层过滤数据会使数据库服务器发送必须要的数据,从而浪费带宽。
接着说where子句的事,where过滤数据依赖操作符,下面是mysql支持的所有操作符。
这些都很简单,不做举例了。
还有一个问题,什么时候应该使用引号?
where子句的条件中,符号后面有时使用引号,有时又没有引号。
使用引号是表示字符串的,如果是一个值类型的不能使用引号。
忘了说一下between了,这个在根据日期查询时会经常用到,举个例子。
检查空值NULL
在mysql中,没有值得字段被保存为NULL,这是0,空格是不同的,0和空格也是值。
在where子句中使用 IS NULL来判断。
下图是判断payment_date字段非空的所有条目
如果要判断payment_date字段为空的话,只需要去掉NOT即可。