中国唯一一家专业只做ARACLE认证和BDA实训的甲骨文金牌合作企业

网络授课

技术沙龙

MySQL培训教程:分析和处理数据

MySQL培训教程:分析和处理数据,通过MySQL你不仅可以取回原始数据,还可以对取回的数据进行分析和格式化。例如,假设我们想知道库存中有多少部LeoTolstoy的作品,可以按照如下所示输入包含COUNT(*)函数的SELECT语句:

  1. SELECT COUNT(*)  
  2. FROM books  
  3. JOIN authors USING(author_id)  
  4. WHERE author_last = 'Tolstoy';  
  5.  
  6. +------------+  
  7. COUNT(*) |  
  8. +------------+  
  9. | 12|  
  10. +------------+ 

另一示例,假设我们建立好数据库并创建一个包含客户订单信息的orders表。我们可以通过查询该表得到某本图书的销售总额。例如,想知道WilliamBoyd的作品Armadillo的销售总额,我们可在MySQL客户机中输入下列SQL语句来实现:

  1. SELECT SUM(sale_amount) AS 'Armadillo Sales' 
  2. FROM orders  
  3. JOIN books USING(book_id)  
  4. JOIN authors USING(author_id)  
  5. WHERE title = 'Armadillo' 
  6. AND author_last = 'Boyd';  
  7.  
  8. +-----------------+  
  9. | Armadillo Sales |  
  10. +-----------------+  
  11. | 250.25 |  
  12. +-----------------+ 

在这里,我们把三个表关联起来用以获取我们需要的信息。MySQL将orders表中与WHERE子句相符合的每一行的sale_amount值取出并累加起来,总和显示在指定的列标题之下。

对于那些包含数据或时间信息的列,我们可以使用不同的函数为它们设置显示格式。例如,假设我们想从orders表中提取顾客购买图书的日期信息,这个日期信息是基于顾客的收据码(例如:1250)的,那么收据码就是记录的标识码或sale_id。我们可以输入以下内容得到默认的显示格式,如结果中最后一行所示:

  1. SELECT purchase_date AS 'Purchase Date' 
  2. FROM orders  
  3. WHERE sale_id = '1250';  
  4.  
  5. +---------------+  
  6. | Purchase Date |  
  7. +---------------+  
  8. | 2004-03-01 |  
  9. +---------------+ 

上面的格式(年-月-日)很容易理解。然而,如果想让月份用英语表示,而不是用数字形式显示,那么我们只能使用日期函数了:

  1. SELECT CONCAT(MONTHNAME(purchase_date), ' ',  
  2. DAYOFMONTH(purchase_date), ', ',  
  3. YEAR(purchase_date)) AS 'Purchase Date' 
  4. FROM orders  
  5. WHERE sale_id = '1250';  
  6.  
  7. +---------------+  
  8. | Purchase Date |  
  9. +---------------+  
  10. | March 1, 2004 |  
  11. +---------------+ 

为了能使日期按照美国的典型易读格式显示,可以使用CONCAT()函数以及其他一些日期函数。乍一看,这可能会有点令人困惑:因为我们在第一行的结尾处,月份和日期之间插入了一个空格;在第二行的末尾处,日期后面插入了一个逗号和空格。关于日期函数,第一个函数是从purchase_date列中取出月份,并将其格式化使其显示全称。第二行的第二个日期函数取出日期,在其后输出一个逗号。第三行的第三个日期函数取出年份。

几个函数一起执行,就得到你所看到的结果了。然而,这并不是日期最简洁的组合显示方法。我们可以使用DATE_FORMAT()函数替代上面的方法:

  1. SELECT DATE_FORMAT(purchase_date, "%M %d, %Y")  
  2. AS 'Purchase Date' 
  3. FROM orders  
  4. WHERE sale_id = '1250'

这是一个更为有效的方法,它提供的结果和前面语句的结果一样。你只需知道格式代码就完全可以使用这个函数。第12章中列出了更多的格式代码以及日期和时间函数。

CUUG 优技培训

中国Oracle培训领航专家

CUUG -CHINA UNIX USER GROUP,是国际UNIX组织UNIFORUM的中国代表,是国内悠久的专业UNIX培训机构,被誉为中国UNIX 的摇篮。

金牌讲师

行业资深实战专家 让学习就像在就业
展开

实操环境

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

让每一个DBA课程学员有真正的实操练习

院校合作

学校新闻

行业新闻

在线预约 抢先报名 获取课程排期

请输入您的手机号

申请试听
版权所有:北京神脑资讯科技有限公司
地址:北京市海淀区紫竹花园4号楼D座703
全国免费咨询电话:400-0909-964
电话:010-59426307 ,邮政编码:100089
E-mail:cuug_bj@cuug.com
拨打电话
在线咨询
首页