第二次总结MySQL相关知识点及实际操作,做起题来感觉比上次有进步。后续将继续更新,力求达到进一步熟练掌握。这一次就跳过正则表达式了,下次专门作为一节。
一、使用通配符与创建计算字段
1.通配符
前面的所有的操作符都是针对已知值进行过滤的,不管是匹配一个值还是多个值,测试值是大于还是小于已知值,或者检查某个范围的值,共同点是过滤中使用的值都是已知的。如果遇到,比如搜索产品中包含文本anvil的所有产品,该怎么查询呢?
百分号(%)通配符: 在搜索串中,%表示任何字符出现的任意次数。
找到以jet开头的产品:
SELECT prod_id,prod_name
FROM products
WHERE prod_name LIKE 'jet%';
*搜索模式’%anvil%'表示匹配任何位置包括文本anvil的值,不管它之前或之后出现什么字符:
SELECT prod_id,prod_name
FROM products
WHERE prod_name LIKE '%anvil%';
总之,%表示搜索模式中给定位置的0个、1个或多个字符。
下划线(__)通配符: 下划线的用途与%一样,但下划线只能匹配单个字符而不是多个字符。
SELECT prod_id,prod_name
FROM products
WHERE prod_name LIKE '_ ton anvil';
注意: _与后面的字母有一个空格。
结果:
与使用%通配符相比较:
SELECT prod_id,prod_name
FROM products
WHERE prod_name LIKE '% ton anvil';
结果: