MySQL必知必会笔记(4)

2019-01-19 15:54

Lower() Right() Soundex()

将串转换为小写 返回右边的字符 返回串的SOUNDEX值

SubString() 返回串的字符 Upper()

将串转换ewing大写

Soundex()是一个将任何文字串转换为描述语音表示的字母数字模式的算法。他考虑了类似发信字符和音节,使得能对串进行发音的比较而不是字母比较,如:Y.lee搜索可以匹配Y.lie

SELECT cust_name , cust_contact FROM customers WHERE Soundex(cust_contact) = Soundex('Y Lie') 删除多余空格的函数

RTrim() LTrim() Trim() 依次是删除 右边 左边 两边的空格

SELECT Concat(RTrim(vend_name), '( ' ,RTrim(vend_country), ') FROM vendors ORDER BY vend_name;

日期和时间处理函数

日期和时间常用相应的数据类型和特色的格式存储,以便能快速和有效的排序或过滤,并节省物理存储空间。

AddDate() 增加一个日期 天、周等 AddTime() 增加一个时间 时、分等 CurDate()

返回当前日期

CurTime() 返回当前时间 Date() DateDiff()

返回日期时间的日期部分 计算两个日期之差

Date_Add() 高度灵活的日期或时间串 Date_Format() Day()

返回一个格式的日期或时间串

返回一个日期的天数部分

DayOfWeek() 对于一个日期,返回对于星期几 Hour() Minute() Moth() Now() Second() Time() Year()

返回一个时间的小时部分

返回一个时间的分钟部分

返回一个日期的月份部分 返回当前的日期和时间

返回一个时间的秒部分

返回一个日期时间的时间部分 返回一个日期的年份部分

MySQl日期格式必须为yyyy-mm-dd,如2010-05-03。虽然其他日期格式也行,但这是首选格式,因为他排除了多义性。

例如,存储的日期列中的日期是2010-11-05 15:23:05 如果想找出2010-11-05这天的数据,使用前面的语句就不行了。这是要使用Date()函数指示mysql提取列的日期的部分

SELECT cust_id, order_num FROM orders WHERE Date(order_date) = '2010-11-05';

检索出2005-5月份的订单怎么办呢?可以使用BETWEEN

SELECT cust_id,order_num FROM orders WHERE Date(order_date) BETWEEN '2005-05-01' AND '2005-05-30';

还有一种不需要记住天数的函数Month(),使年份相等,再让月份相等就行了 SELECT cust_id,order_num FROM orders WHERE Year(order_date) = 2005 AND Month(order_date) = 5;

数值处理函数 Abs() Cos()

返回一个数的绝对值 返回一个角度的余弦 返回一个数的指数值 返回除操作的余数

返回圆周率

Exp() Mod() Pi()

Rand() Sin()

返回一个随机数 返回一个角度的正弦值 返回一个数的平方根 返回一角度的正切

Sqrt() Tan()

第十二章 汇总函数

Msyql提供这些函数以便分析和报表生成,这种类型的检索例子有以下几种: 汇聚函数 :运行在行组上,计算和返回单个值的函数

1 确定表中的行数(或者满足某个条件或包括某个特定的值的行数) 2 获得表中行组的和

3 找出表列(或所有行或某特定行的)最大值、最小值和平均值 AVG()

返回某列的平均值

COUNT() 返回某列的行数 MAX() MIN() SUM()

返回某列的最大值

返回某列的最小值

返回某列值之和

求products表中产品的平均价格

SELECT AVG(prod_price) AS avg_price FROM products; 求products表中编号为1003产品的平均价格

SELECT AVG(prod_price) AS avg_price FROM products WHERE vend_id = 1003; AVG()函数只能用来确定特定数值列的平均值,而且名必须作为函数参数给出。为了获得多个平均值,必须使用多个AVG()函数,AVG()函数忽略列值为NULL的行

COUNT()函数的两种使用方式:

1 COUNT(*) 对表中的数目进行计数,不管表列中包含的是NULL值还是非空值 2 COUNT(column) 对特定的列中具有值的进行计数,忽略NULL值

SELECT COUNT(*) AS num_cust FROM customers; SELECT COUNT(cust_email) AS num_cust FROM customers; MAX()函数 ,忽略列值为NULL的行

SELECT MAX() AS max_price FROM products; MIN() 与MAX()函数一样 SUM() 函数

SELECT SUM(quantity) AS items_ordered FROM orderitems WHERE order_num = 2005 下面是mysql5以后的函数 在mysql4中不能正常运行 DISTINCT 参数,作用是返回不相同的值

下面是返回供应商提供的产品的平均值,它与上面的SELECT 语句相同,但使用了DISTICT参数,因此平均值只考虑各个不同价格合起来的平均值

SELECT AVG(DISTINCT prod_price) AS avg_price FROM products WHERE vend_id=10003;

如果指定了列名,DISTINCT参数只能用于COUNT(),DISTINCT参数不能用于COUNT(*)应为DISTINCT必须使用列名。

第十三章 分组数据

分组允许把数据分成多个逻辑组,比便能对每个组进行聚集计算。 分组是在SELECT 语句的 GROUP BY 子句中建立的。 返回每个厂商提供了几个产品

SELECT vend_id, COUNT(*) AS num_prods FROM products GROUP BY vend_id;


MySQL必知必会笔记(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:结构设计原理-1997-2007试题集

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: