MYSQL必知必会读书笔记第十和十一章之使用函数处理数据

 更新时间:2016年05月05日 13:59:58   作者:自然鸟神  
这篇文章主要介绍了MYSQL必知必会读书笔记第十和十一章之使用函数处理数据的相关资料,需要的朋友可以参考下

 mysql简介

MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。

拼接字段

存储在数据库表中的数据一般不是应用程序所需要的格式。我们需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据,然后再在客户机应用程序或报告程序中重新格式化。

计算字段(字段 = 列,不过数据库列一般称为列,而字段通常用于计算字段中)并不实际存在于数据库表中,计算字段是运行时在select语句内创建的。

拼接 concatenate 将值联结到一起构成单个值

在MySQL的select语句中,可使用Concat()函数来拼接两个列。

如创建由两列组成的标题:生成一个供应商报表,需要在供应商的名字中按照name(location)这样的格式列出供应商的位置。此报表需要单个值,而表中数据存储的两个列vend_name和vend_country中。还需要用括号将vend_country括起来。


新创建的列用AS赋一个别名

去除空白

Ltrim() RTrim() Trim()

执行算术计算

比如物品单单表存储物品的价格和数量,但是不需要存储每个物品的总价格(用价格乘以数量即可)。 为打印发票,需要物品的总价格。即需要增加一列,根据已有的列计算出来。

文本函数

left() 串左边字符
length() 串长度
locate() 找出串的一个子串
lower() 转为小写
ltrim() 去掉左边空格
right() 返回串右边字符
rtrim() 去掉串右边空格
soundex() 返回字符串soundex值
upper() 大写

将选择的文本转换成大写

select Upper(vend_name)from vendors;

Soundex()函数:将任何文本传转换为描述其语音表示的字母数字模式的算法。(语音匹配?对发音比较而不是对字幕比较)

日期函数

日期和时间函数

adddate() 增加一个日期-天或周

addtime() 增加一个时间

curdate() 返回当前日期

curtime() 返回当前时间

date() 返回日期时间的日期部分

datediff() 计算两个日期差

date_add() 高度灵活的日期运算函数

date_format() 返回一个格式化的日期或时间串

day() 返回一个日期的天数部分

dayofweek() 对于一个日期,返回对应的星期几

hour()

minute()

month()

now() 当前日期和时间

second()

time() 当前日期时间的时间部分

year()

一般,应用程序不使用用来存储日期和时间的格式,因此日期和时间函数总是被用来读取,统计和处理这些值。

MySQL的日期格式:yyyy-mm-dd。 比如 2005-09-01

但是这样的where order_date = '2005-09-01'不可靠。因为order_date存储的数据类型是datatime. 这种类型存储日期及时间值。比如存储的order_date值为2005-09-01 11:30:05,则where order_date = '2005-09-01'就会匹配失败。

所以最安全的方法是Date()函数,Date(order_date)指示MySQL提取列的日期部分。

select cust_id, order_num
from orders
where Date(order_date) = '2005-09-01';

再比如想要检索出2005年9月下的所有订单。

select cust_id, order_num
from orders
where Year(order_date) = 2005 and Month(order_date) = 9;

聚集函数

我们经常需要汇总函数,而不是把它们实际检索出来。

这种类型的检索例子:

1. 确定表中行数

2. 获得表中行组的和

3. 找出表列(or 所有行某些特定的行)的最大值,最小值和平均值

聚集函数(aggregate function) 运行在行组上,计算和返回单个值的函数。

AVG() 返回某列的平均值

COUNT() 返回某列的行数

MAX() 返回某列的最大值

MIN() 返回某列的最小值

SUM() 返回某列值的和

求某一列的平均值

复制代码 代码如下:

select avg(prod_price) as avg_pricefrom products;

- 计数

使用count(*)对表中行的数目进行计数(whether null or not)

使用count(column)对特定列具有值的行进行计数,忽略null

求和

使用sum()返回指定列值的和


以上所述是小编给大家介绍的MYSQL必知必会读书笔记第十和十一章之使用函数处理数据的相关知识,希望对大家有所帮助!

相关文章

  • MySQL过滤数据操作方法梳理

    MySQL过滤数据操作方法梳理

    数据库表一般包含大量的数据,很少需要检索表中的所有行。通常只是根据特定的需要提取表数据的子集。因此检索所需数据时需要指定搜索条件,搜索条件也称为过滤条件
    2022-10-10
  • DBeaver如何将mysql表结构以表格形式导出

    DBeaver如何将mysql表结构以表格形式导出

    DBeaver是一款多功能数据库工具,支持包括MySQL在内的多种数据库,本文介绍如何使用DBeaver将MySQL的表结构以表格形式导出,为数据库管理和文档整理提供便利,这种方法简洁有效,适合需要文档化数据库结构的开发者和数据库管理员
    2024-10-10
  • Mysql auto_increment 重新计数(让id从1开始)

    Mysql auto_increment 重新计数(让id从1开始)

    当清空一个表的时候,重新插入数据,发现auto_increment属性的字段计数不是从1开始的时候,可以使用以下命令
    2012-12-12
  • mysql免安装版步骤解压后找不到密码处理方法

    mysql免安装版步骤解压后找不到密码处理方法

    这篇文章主要介绍了mysql免安装版步骤解压后找不到密码处理步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • MySQL时间盲注的五种延时方法实现

    MySQL时间盲注的五种延时方法实现

    MySQL时间盲注主要有五种,sleep(),benchmark(t,exp),笛卡尔积,GET_LOCK() RLIKE正则,本文就主要介绍了这五种方法,感兴趣的可以了解一下
    2021-05-05
  • MySQL按指定字符合并以及拆分实例教程

    MySQL按指定字符合并以及拆分实例教程

    这篇文章主要给大家介绍了关于MySQL按指定字符合并以及拆分的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06
  • MySQL之where使用详解

    MySQL之where使用详解

    我们需要获取数据库表数据的特定子集时,可以使用where子句指定搜索条件进行过滤。本文主要介绍了MySQL之where使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • SQL 聚合、分组和排序

    SQL 聚合、分组和排序

    这篇文章主要介绍了SQL 聚合、分组和排序,文章围绕SQL 聚合、分组、排序的相关资料展开具体内容,需要的朋友可以参考一下
    2021-11-11
  • MySQL数据库innodb启动失败无法重启的解决方法

    MySQL数据库innodb启动失败无法重启的解决方法

    这篇文章给大家分享了MySQL数据库innodb启动失败无法重启的解决方法,通过总结自己遇到的问题分享给大家,让遇到同样问题的朋友们可以尽快解决,下面来一起看看吧。
    2016-09-09
  • mysql 联合索引生效的条件及索引失效的条件

    mysql 联合索引生效的条件及索引失效的条件

    两个或更多个列上的索引被称作复合索引,本文主要介绍了mysql 联合索引生效的条件及索引失效的条件,感兴趣的可以了解一下
    2021-11-11

最新评论