环境安装mysql的5.事务和常用函数_第1页
环境安装mysql的5.事务和常用函数_第2页
环境安装mysql的5.事务和常用函数_第3页
环境安装mysql的5.事务和常用函数_第4页
环境安装mysql的5.事务和常用函数_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

常用函数本次要点事务常用函数字符串函数数值函数日期和时间函数流程函数其他常用函数组函数事务处理在各种管理系统中都有着广泛的应用,比如人员管理系统,很多同步数据库操作大都需要用到事务处理。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!删除的SQL语句deletefromuserinfowhere~~~deletefrommailwhere~~deletefromarticlewhere~~如果没有事务处理,在你删除的过程中,假设出错了,只执行了第一句,那么其后果是难以想象的!但用事务处理。如果删除出错,你只要rollback就可以取消删除操作(其实是只要你没有commit你就没有确实的执行该删除操作)一般来说,在商务级的应用中,都必须考虑事务处理的!事务的ACID属性MySql中的事务控制字符串函数数值常用函数日期和时间常用函数流程函数其他函数常用函数聚合函数对一组值进行运算,并返回单个值。也叫组合函数。COUNT(*|列名) 统计行数AVG(数值类型列名) 平均值SUM(数值类型列名) 求和MAX(列名) 最大值MIN(列名) 最小值常用聚合函数示例SELECTAVG(sal)FROMtb_emp##平均工资SELECTSUM(sal)FROMtb_emp##总工资SELECTMAX(sal)FROMtb_emp##最大工资SELECTMIN(sal)FROMtb_emp##最小工资

常用聚合函数示例SELECTSUM(sal)AS工资总额,MAX(sal)AS最高工资,

MIN(sal)AS最低工资,AVG(sal)AS平均工资

FROMTB_EMP

SELECTCOUNT(*)FROMTB_EMP#count不统计null,统计的是记录数SELECTCOUNT(comm)FROMTB_EMP#count不统计null

SELECTCOUNT(DISTINCTdeptno)FROMTB_EMPSELECTAVG(comm)FROMTB_EMP#组函数忽略空值2200/4=550

#IFNULL(arg,arg)如果第一个参数为null,则取第二个参数的值SELECTcommFROMTB_EMPSELECTIFNULL(comm,0)FROMTB_EMPSELECTAVG(IFNULL(comm,0))FROMTB_EMP#2200/14=157数据分组GROUPBY子句GROUPBY子句的真正作用在于与各种聚合函数配合使用。它用来对查询出来的数据进行分组。分组的含义是:把该列具有相同值的多条记录当成一组记录处理,最后只输出一条记录。分组函数忽略空值,。结果集隐式按升序排列,如果需要改变排序方式可以使用Orderby子句。GROUPBY子句

SELECTcolumn,group_function

FROMtable

[WHEREcondition]

[GROUPBYgroup_by_expression]

[ORDERBYcolumn];GROUPBY子句#每个部门的平均工资SELECTdeptno,AVG(sal)FROMTB_EMPGROUPBYdeptno#查每个部门的整体工资情况#如果select语句中的列未使用组函数,那么它必须出现在GROUPBY子句中#而出现在GROUPBY子句中的列,不一定要出现在select语句中SELECTdeptno,AVG(sal),MAX(sal),MIN(sal),SUM(sal),COUNT(1) FROMTB_EMP GROUPBYdeptno#根据部门编号分组#每个部门每个职位的平均工资SELECTdeptno,job,AVG(sal)FROMTB_EMPGROUPBYdeptno,job分组函数的重要规则如果使用了分组函数,或者使用GROUPBY的查询:出现在SELECT列表中的字段,要么出现在组合函数里,要么出现在GROUPBY子句中。GROUPBY子句的字段可以不出现在SELECT列表当中。使用集合函数可以不使用GROUPBY子句,此时所有的查询结果作为一组。限定组的结果:HAVING子句HAVING子句用来对分组后的结果再进行条件过滤。

SELECTcolumn,group_function

FROMtable

[WHEREcondition]

[GROUPBYgroup_by_expression]

[HAVINGgroup_condition]

[ORDERBYcolumn];限定组的结果:HAVING子句#查询部门平均工资大于2000的#分组后加条件使用having#where和having都是用来做条件限定的,但是having只能用在groupby之后 SELECTdeptno,AVG(sal),MAX(sal),MIN(sal),SUM(sal),COUNT(1) FROMTB_EMP GROUPBYdeptno HAVINGAVG(sal)>2000HAVING与WHERE的区别WHERE是在分组前进行条件过滤,HAVING子句是在分组后进行条件过滤,WHERE子句中不能使用聚合函数,HAVING子句可以使用聚合函数。组函数的错误用法不能在WHERE子句中限制组.限制组必须使用HAVING子句.不能在WHERE子句中使用组函数.查询结果限定在SELECT语句最后可以用LIMLT来限定查询结果返回的起始记录和总数量。MySql特有。SELECT…LIMIToffset_start,row_count;offset_start:第一个返回记录行的偏移量。默认为0.row_count:要返回记录行的最大数目。例子:SELECT*FROMTB_EMPLIMIT5;/*检索前5个记录*/SELECT*FROMTB_EMPLIMIT5,10;/*检索记录行6-15*/SELECT语句标准格式的SELECT语句#标准sql格式SELECTdeptno,AVG(s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论