第8章 用通配符过滤数据
通配符(wildcard),是特殊字符,用来匹配值的一部分。【%,_】
搜索模式(search pattern),由字面值+通配符组成,可对未知值进行过滤(前几章都是根据已知值来过滤)。
1、LIKE操作符(类似=,可理解为像...,或包含∈)
通配符必须搭配like使用。语法:【where 字段 like 搜索模式】
1.1百分号(%)通配符:表示匹配某个或某段字符(0~n个)。
注意:可以匹配0个,但不能匹配NULL。
找到名称以jet开头的产品:select prod_id,prod_name from products where prod_name like 'jet%';
找到名称包含anvil的产品:select prod_id,prod_name from products where prod_name like '%anvil%';
1.2下划线(_)通配符:表示只匹配某1个字符。
注意:只能是1个,不能匹配0个。
找到名称包含' ton anvil',且左侧有一个字符的产品:(注意比较用_和%查找结果的区别)
select prod_id,prod_name from products where prod_name like '_ ton anvil';
2、通配符使用技巧
a.尽量不用通配符,而用其他操作符,因通配符查询速度更慢。
b.尽量不用通配符做开始,因这样效率最低。
c.尽量细心使用,因放错地方,会漏掉想要的结果。
《mysql必知必会》是一本好书,是一本sql语言入门书,豆瓣评分很高。
作者是英国的Ben Forta,世界知名的技术作家,由人民邮电出版社发行,我觉得原作名: MySQL Crash Course,直译为:《MYSQL速成》更具畅销书潜质,只是比较俗吧,呵呵。
书中从介绍简单的数据检索开始,逐步深入一些复杂的内容,包括联结的使用、子查询、正则表达式和基于全文本的搜索、存储过程、游标、触发器、表约束,等等。
前三章是基础概念,讲了SQL和数据库的基本概念,Mysql数据库的概念和使用方法,第四章开始SQL实操练习,这里是本书的一些实操练习笔记,有兴趣的话可以按这个练习几遍,相信对新手会很有帮助,让你不经意间功力大增。