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中使用SHOW PROFILE命令分析性能的用法整理

    MySQL中使用SHOW PROFILE命令分析性能的用法整理

    这篇文章主要介绍了MySQL中使用show profile命令分析性能的用法整理,show profiles是数据库性能优化的常用命令,需要的朋友可以参考下
    2015-11-11
  • MySQL 事务概念与用法深入详解

    MySQL 事务概念与用法深入详解

    这篇文章主要介绍了MySQL 事务概念与用法,结合实例形式深入分析了MySQL 事务基本概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2020-05-05
  • JDK1.7下测试ConnectorJ连接MySQL8.0的方法

    JDK1.7下测试ConnectorJ连接MySQL8.0的方法

    MySQL Connector/J是一个JDBC 4型驱动程序。Type 4标志意味着驱动程序是MySQL协议的纯Java实现,不依赖于MySQL客户端库,这篇文章主要介绍了JDK1.7下测试ConnectorJ连接MySQL8.0,需要的朋友可以参考下
    2022-10-10
  • 安装rpm包时提示错误:依赖检测失败的解决方法

    安装rpm包时提示错误:依赖检测失败的解决方法

    今天在虚拟机中装MySQL的时候,突然出现了这个依赖检测错误,下面这篇文章主要给大家介绍了关于安装rpm包时提示错误:依赖检测失败的解决方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • mysql建表报错:invalid default value for 'date'的解决方法

    mysql建表报错:invalid default value for 'date'的解决方

    最近遇到一个这样的问题,出现了invalid default value for 'end_date'错误,所以下面这篇文章主要给大家介绍了关于mysql建表报错:invalid default value for 'date'的解决方法,需要的朋友可以参考下
    2022-12-12
  • MySQL脏读幻读不可重复读及事务的隔离级别和MVCC、LBCC实现

    MySQL脏读幻读不可重复读及事务的隔离级别和MVCC、LBCC实现

    这篇文章主要介绍了MySQL脏读幻读不可重复读及事务的隔离级别和MVCC、LBCC实现,事务A 按照查询条件读取某个范围的记录,其他事务又在该范围内出入了满足条件的新记录,当事务A再次读取数据到时候我们发现多了满足记录的条数
    2022-07-07
  • mysql多表join时候update更新数据的方法

    mysql多表join时候update更新数据的方法

    如果item表的name字段为''就用resource_library 表的resource_name字段前面加上字符串Review更新它,他们的关联关系在表resource_review_link中。
    2011-03-03
  • MySQL slave_net_timeout参数解决的一个集群问题案例

    MySQL slave_net_timeout参数解决的一个集群问题案例

    这篇文章主要介绍了MySQL slave_net_timeout参数解决的一个集群问题案例,问题日志请见正文,本文使用slave_net_timeout参数解决了这个问题,需要的朋友可以参考下
    2015-05-05
  • MySQL 5.6主从报错的实战记录

    MySQL 5.6主从报错的实战记录

    这篇文章主要给大家介绍了关于MySQL 5.6主从报错的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • MySQL增删查改数据表详解

    MySQL增删查改数据表详解

    这篇文章主要介绍了MySQL增删查改数据表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-11-11

最新评论