一、使用MySQL特有的函数!
        1》到年底还有几天
            select datediff('2014-12-31','2014-6-21');//此函数用于计算日期只差
            select datediff('2014-12-31',now());//函数now为当前日期
        2》年月日
            select year(now());
            select moth(now());
            select day(now());
        3》substring(str,position[,length])
            从str的position开始,取length个字符
            索引从1开始。
            code:
                select substring('http://localhost:8080/day12/mysql',29);//mysql
                select substring('http://localhost:8080/day12/mysql',29,2);//my
        4》format
            保留小数点后2位,四舍五入
            select fromat(3.141596535,2);
        5》向下取整
            select floor(3.14);
            select floor(-3.14);
            select floor(3.54);
            select floor(-3.54);
        6》向上取整
            select ceiling(3.14);
        7》取随机值
            rand();返回一个随机浮点值 v ,范围在 0 到1 之间
            select format(rand(),2);
            
            取1-6之间的随机整数值:
            select floor(rand()*6)+1;//6代表取值之间的数字
        8》随机产生'a'-'z'之间的随机字符
            1)查询'a'-'z'对应的Unicode值
                select ascii('a');
                select ascii('z');
            2)产生97-122之间的随机整数
                select floor(rand()*26)+97;
            3)产生97-122之间对应的字符
                select char(select floor(rand()*26)+97);
        9》利用MySQL的函数,对密码'123456'进行MD5加密
        code:
            select md5('123456');        
                
二、扩展知识——MySQL特有流程控制函数:
    
            1》if(value,第一值,第二值);
                
                value为真,取第一值,否则取第二值
                类似于Java中的三目运算符
                code:
                    将5000元(含)以上的员工标识为"高薪",否则标识为"起薪"
                    select if(salary>=5000,'高薪','起薪')
                    from user;
                    
            2》ifnull(value1,value2)
            value1为NULL,用value2替代
            code:
            将薪水为NULL的员工标识为"无薪"
            select name as 员工,ifnull(salary,'无薪') as 薪水情况
            from user;
            
            3》case when [value] then [result1] else [result2] end;
            当value表达式的值为true时,取result1的值,否则取result2的值(if...else...)
            将5000元(含)以上的员工标识为"高薪",否则标识为"起薪"
    
            select
                case when salary>=5000 then '高薪'
                    else '起薪' end
            from user;
            
            4) case [express] when [value1] then [result1] when [value2] then [result2] else [result3] end;
                当express满足value1时,取result1的值,满足value2时,取result2的值,否则取result3的值(switch...case..)
                将7000元的员工标识为"高薪",6000元的员工标识为"中薪",5000元则标识为"起薪",否则标识为"低薪"
                
                select
                    case salary
                        when 7000 then '高薪'
                        when 6000 then '中薪'
                        when 5000 then '起薪'
                        else '低薪' end
                from user;
                
                
                                
        课堂练习:
            
        1》查询相同性别的员工总人数>2的工资综合,并按工资综合降序排列
        select gender as 性别, count(*) as 员工数
        from user
        group by gender
        having count(*)>3
        order by sum(salary) desc;
        
        
        2》将性别为男的员工工资-1000,性别为女的员工工资+1000,在一条SQL上完成
        方法一:
        select id, name, gender as 性别,case when gender='female' then salary+1000 else salary-1000 end as 工资
        from user;
        方法二:
        select id,name,gender as 性别, if(gender='femal',salary+1000,salary-1000) as 工资 from user;
        方法三:
        select id,name,gender as 性别, case gender when 'female' then salary+1000 else salary-1000 end as 工资 from user;

总结:
    count函数,sum函数等:
    1》没有group by 进行分组的时候将整个表看为一组,进行计算、统计;
    2》有group by 进行分组的时候,以分后的组为依据,进行计算和统计。

MySQL扩展的更多相关文章

  1. PHP基础Mysql扩展库

    mysql扩展库操作步骤如下: 1.连接数据库 2.选择数据库 3.设置操作编码 4.发送指令sql,并返回结果集     ddl:数据定义语句     dml:数据操作语句     dql:数据查询 ...

  2. mysql扩展库-1

    启用mysql扩展库 在php.ini文件中去配置mysql扩展库 extension=php_mysql.dll 可以通过 phpinfo() 查看当前php支持什么扩展库. 在sql扩展库中创建一 ...

  3. 您的 PHP 似乎没有安装运行 WordPress 所必需的 MySQL 扩展”处理方法

    转自:http://www.xuebuyuan.com/1549022.html 这已经是一个老掉牙的问题了,部分人使用自己的服务器安装WordPress程序之后,会出现“您的 PHP 似乎没有安装运 ...

  4. Centos中安装PHP的PDO MySQL扩展的教程

    PHP Data Objects(PDO)扩展为 PHP 访问数据库定义了一个轻量级的一致接口.实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能.注意利用 PDO 扩展自身并 ...

  5. PHP的MySQL扩展:MySQL数据库概述

    来源:http://www.ido321.com/1023.html 一.SQL:结构化查询语言 SQL(Structured Query Language)是高级的非过程化变成语言,专门用于查询和修 ...

  6. php笔记08:数据库编程---使用php的MySQL扩展库操作MySQL数据库

    1.使用php的MySQL扩展库操作MySQL数据库: php有3种方式操作MySQL数据库 (1)mysql扩展库 (2)mysqli扩展库 (3)pdo     mysql扩展库与mysql数据库 ...

  7. mysql扩展库操作mysql数据库

    环境搭建 启用mysql扩展库,在php.ini文件中去配置mysql扩展库 extension=php_mysql.dll 查询数据库 1.建库建表 //建库testcreate database ...

  8. 【小结】有关mysql扩展库和mysqli扩展库的crud操作封装

    现阶段php如果要操作mysql数据库 php给我们提供了3套库 1.mysql扩展库   面向过程操作 2.mysqli扩展库  面向对象操作和面向过程操作并存  安全性和效率高于mysql扩展库 ...

  9. php使用mysql扩展库链接mysql数据库(查询)

    php链接数据库可以使用mysql扩展库,mysqli,pdo这几种方式,相比java而言要麻烦一点,因为它不像java那么统一.从代码的难易程度来说php的确要简单许多.步骤大体如下 1.打开数据库 ...

  10. 在python3中安装mysql扩展,No module named 'ConfigParser'

    在python2.7中,我们安装的是 MySqldb或这 MySQL-python,能够正却安装,但在python3中,由于 其使用的扩展  ConfigParser 已经改名为 configpars ...

随机推荐

  1. Android 自定义属性(attrs.xml,TypedArray)

    做Android布局是件很享受的事,这得益于他良好的xml方式.使用xml可以快速有效的为软件定义界面.可是有时候我们总感觉官方定义的一些基本组 件不够用,自定义组件就不可避免了.那么如何才能做到像官 ...

  2. COJ 0995 WZJ的数据结构(负五)区间操作

    WZJ的数据结构(负五) 难度级别:C: 运行时间限制:1000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 请你设计一个数据结构,完成以下功能: 给定一个大小为 ...

  3. 部分无线终端不响应键盘事件(keydown,keypress,keyup)的解决办法

    在无线侧实现搜索显示smartbox功能的时候,会对输入框绑定keydown.keyup.keypress事件,从而在检测到输入框的值发生改变时,发出请求拉取smartbox的内容. 但是,在iPho ...

  4. 常用的MIME类型(资源的媒体类型)

    后缀名 MIME名称 *.3gpp audio/3gpp, video/3gpp *.ac3 audio/ac3 *.asf allpication/vnd.ms-asf *.au audio/bas ...

  5. 修改cmd的字体

    通常打开的cmd默认的字体比较小,字体只有宋体和新宋体两种,如果要修改,需要通过修改注册表才行. 打开regedit后,找到如下路径HKEY_LOCAL_MACHINE\SOFTWARE\Micros ...

  6. Python初体验_基础(一)

    一:变量 变量的赋值: name = "Meng" 上述代码声明了一个变量,变量名为name,变量name的值为:"Meng" 变量定义: 一个在内存存数据的容 ...

  7. (转)iOS分类和扩展(Categories和Extensions)

    分类(Category)   分类能够做到的事情主要是:即使在你不知道一个类的源码情况下,向这个类添加扩展的方法.   此外,分类能够保证你的实现类和其他的文件区分开. #import “UIView ...

  8. UVA10534-----Wavio Sequence-----动态规划之LIS

    题目地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  9. SharePoint 要一个多行文本类型字段为特殊类型的链接

    1.插入在测试列表中的多行文本字段.名字叫做Content.例如下面的附图: 2.在Content字段里.加入一个Link.例如以下图: 3.尝试输入Notes格式的Link,例如以下图: 4.点击O ...

  10. C语言函数指针(转载)

    二.通常的函数调用 一个通常的函数调用的例子:/* 自行包含头文件 */void MyFun(int x); /* 此处的声明也可写成:void MyFun(int) */int main(int a ...