and操作符:
or操作符:
SQL(像多数语言一样)在处理0R操作符前,优先处理AND操作符。
IN WHERE子句中用来指定要匹配值的清单的关键字,功能与OR相当。为什么要用IN?
MySQL中的NOT MySQL支持使用NOT对IN、BETWEEN和EXISTS子句取反。
百分号(%)通配符:%表示任何字符出现任意次数。
like后面的字符串里面是区分大小写的。
另一个有用的通配符是下划线(_)。下划线的用途与%一样,但下划线只匹配单个字符而不是多个字符。
两个下划线匹配页面两个字。
下面的语句检索列product_name包含文本页面的所有行:
.是正则表达式语言中一个特殊的字符。它表示匹配任意一个字符。
进行or匹配:
匹配几个字符之一:
正如所见,[ ]是另一种形式的OR语句。事实上,正则表达式[123]为[1|2|3]的缩写,也可以使用后者。
范围匹配:
匹配特殊字符:
匹配字符类:
拼接字段:解决办法是把两个列拼接起来。在MySQL的SELECT语句中,可使用Concat()函数来拼接两个列。
在第8章中曾提到通过删除数据右侧多余的空格来整理数据,这可以使用MySQL的RTrim ()函数来完成。
使用别名:
执行算术运算:
文本处理函数:
日期和时间处理函数:
WHERE order_date ='2005-09-01'可靠吗?order date的数据类型为datetime。这种类型存储日期及时间值。
解决办法是指示MySQL仅将给出的日期与列中的日期部分进行比较,而不是将给出的日期与整个列值进行比较。为此,必须使用Date()函数。Date(order_date)指示MySQL仅提取列的日期部分。
数值处理函数:
AVG()函数:
AVG ()也可以用来确定特定列或行的平均值。
COUNT()函数:
COUNT (*)对表中行的数目进行计数,不管表列中包含的是空值((NULL)还是非空值。
COUNT (column)对特定列中具有值的行进行计数,忽略NULL值。
MAX()函数:
MAX()返回指定列中的最大值。MAX()要求指定列名:
MIN()的功能正好与MAX()功能相反。
SUM()函数:
SUM()用来返回指定列值的和(总计)。
聚集不同值:
对所有的行执行计算,指定ALL参数或不给参数(因为ALL是默认)。
只包含不同的值,指定DISTINCT参数。
组合聚集函数: