MYSQL必知必会读书笔记第十和十一章之使用函数处理数据
mysql简介 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。 拼接字段 存储在数据库表中的数据一般不是应用程序所需要的格式。我们需要直接从数据库中检索出转换、计算或格式化过的数据;而不是检索出数据,然后再在客户机应用程序或报告程序中重新格式化。 计算字段(字段 = 列,不过数据库列一般称为列,而字段通常用于计算字段中)并不实际存在于数据库表中,计算字段是运行时在select语句内创建的。 拼接 concatenate 将值联结到一起构成单个值 在MySQL的select语句中,可使用Concat()函数来拼接两个列。 如创建由两列组成的标题:生成一个供应商报表,需要在供应商的名字中按照name(location)这样的格式列出供应商的位置。此报表需要单个值,而表中数据存储的两个列vend_name和vend_country中。还需要用括号将vend_country括起来。 新创建的列用AS赋一个别名 去除空白 Ltrim() RTrim() Trim() 执行算术计算 比如物品单单表存储物品的价格和数量,但是不需要存储每个物品的总价格(用价格乘以数量即可)。 为打印发票,需要物品的总价格。即需要增加一列,根据已有的列计算出来。 文本函数 left() 串左边字符 将选择的文本转换成大写 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() 返回某列值的和 求某一列的平均值 复制代码 代码如下: - 计数 使用count(*)对表中行的数目进行计数(whether null or not) 使用count(column)对特定列具有值的行进行计数,忽略null 求和 使用sum()返回指定列值的和 以上所述是小编给大家介绍的MYSQL必知必会读书笔记第十和十一章之使用函数处理数据的相关知识,希望对大家有所帮助! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- sql – 尽可能多地从CLOB到VARCHAR2中选择数据,并在数据中使
- mysql5.7.18.zip免安装版本配置教程(windows)
- 将所有Neo4J数据库加载到RAM
- Windows 2003+SQL 2005 群集Cluster配置
- sql-server-2008 – 数据库的mdf文件的位置
- SQL Server误区30日谈 第17天 有关页校验和的误区
- SQL Server获取磁盘空间使用情况
- sql-server – 在MSSQL中查询返回特定数据库的.mdf和.ldf文
- SQL Server 2012 Express中的Profiler [已关闭]
- SQL Server下几个危险的扩展存储过程