求知若饥,虚心若愚

《MySQL必知必会》读书笔记_2

通配符:(尾空格可能会干扰通配符匹配)

匹配任意字符匹配任意单个字符

 

正则表达式:REGEXP

用法就是替换掉LIKE的位置,后面配合正则表达式。

默认不区分大小写,如果区分的话添加关键字BINARY 如:WHERE *** REGEXP BINARY ‘JetPack .000’

 

SELECT prod_name FROM products WHERE prod_name REGEXP '.000' ORDER BY prod_name

 

 

 

OR匹配

SELECT prod_name 

FROM products 

WHERE prod_name REGEXP '1000|2000' 

ORDER BY prod_name

结果与上图相同。

 

拼接串:CONCAT()把多个串连接起来形成一个较长的串。

SELECT CONCAT(vend_name,'(',vend_country,')')

FROM vendors

ORDER BY vend_name

 

RTRIM() 删除右侧多余空格来整理数据

LTRIM() 删除左侧多余空格来整理数据

TRIM() 删除左右两侧的空格

 

AS使用别名

 

执行算数运算

SELECT prod_id,

 quantity,

 item_price,

 quantity * item_price AS expanded_price

FROM orderitems

WHERE order_num = 20005

 

 

算数操作符支持 + - * / 

 

测试计算:

SELECT TRIM(' abc ')

SELECT NOW()

 

LEFT() 返回串左边字符

LENGTH() 返回串的长度

LOCATE() 找出一个串的子串

LOWER() 将串转换为小写

RIGHT() 返回串右边的字符

SOUNDEX() 返回串的SOUNDEX

SUBSTRING() 返回子串的字符

UPPER() 将串转换为大写

 

SOUNDEX是个将任何文本串转换为描述其语音表示的字母数字模式的算法。

SELECT cust_name, cust_contact

FROM customers

WHERE cust_contact = 'Y Lie'

 

SELECT cust_name, cust_contact

FROM customers

WHERE SOUNDEX(cust_contact) = SOUNDEX('Y Lie')

 

 

时间函数:

DATE() 主要是日期

TIME() 主要是时间

NOW() 获得当前时间

 

数值处理函数:

ABS() 返回一个数的绝对值

COS() 返回一个角度的余弦值

EXP() 返回一个数的指数值

MOD() 返回除操作的余数

PI() 返回圆周率

RAND() 返回一个随机数

SIN() 返回一个角度的正弦

SQRT() 返回一个数的平方根

TAN() 返回一个角度的正切

 

聚集函数:

AVG() 返回某列的平均值

COUNT() 返回某列的行数

MAX() 返回某列的最大值

MIN() 返回某列的最小值

SUM() 返回某列值之和,忽略列值为NULL的行。

posted @ 2014-07-06 19:32  初行  阅读(990)  评论(0编辑  收藏  举报