MySQL扩展

一、使用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 进行分组的时候,以分后的组为依据,进行计算和统计。

时间: 2024-10-29 19:09:39

MySQL扩展的相关文章

Linux下php编译完成添加mysql扩展

在使用中出现了这个问题,查看了一下phpinfo发现没有mysql扩展. 步骤如下: 1 进入php的安装包目录 cd php-5.6.22/ext/mysql /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config --with-mysql=/usr/local/mysql/ make make install 在mysql/modules下看到了mysql.so 2 修改php.ini 添加e

【php】安装mysql扩展

因为在PHP中mysql_connect模块已经逐渐被弃用,我在搭建环境时也没有再安装mysql扩展,但是今天在维护一个老项目时,出现报错 错误信息:Fatal error: Uncaught Error: Call to undefined function mysql_connect() 发现如果php和mysql都已经安装完成了,可以使用phpize工具手动编译生成mysql.so扩展来解决 下面是操作步骤: 1.进入php源码的ext/mysql目录 cd /usr/local/src/

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

来源:http://www.ido321.com/1023.html 一.SQL:结构化查询语言 SQL(Structured Query Language)是高级的非过程化变成语言,专门用于查询和修改数据库的信息以及对数据库进行管理和维护的标准语言.SQL语言结构简单,功能强大,得到了众多DBMS的支持. SQL分为四个部分: 数据定义语言(DDL):用于定义和管理数据对象,包括数据库.数据表等.如create/drop/alter等 数据操作语言(DML):操作数据库对象中包含的数据,如in

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

现阶段php如果要操作mysql数据库 php给我们提供了3套库 1.mysql扩展库   面向过程操作 2.mysqli扩展库  面向对象操作和面向过程操作并存  安全性和效率高于mysql扩展库 3.PDO扩展库    面向对象操作 今天这篇博文主要要谈谈mysql扩展库和mysqli扩展库 主要是记录了着2套crud操作分装 以下代码段是关于mysqli扩展库关于crud操作的封装 header("Content-type:text/html;charset=utf-8"); c

php编译完成后安装mysql扩展

搭建测试环境时遇到的问题:使用firefox 浏览测试页返回空白页,没有报错信息 原因: Php版本是5.2,虽然在安装的时候指定了mysql扩展,但是安装时并没有装上 解决办法: 1.进入php源代码目录: [[email protected]  /]# # cd cd/usr/local/php-5.2.11 2.再进入要添加的mysql扩展源码目录: [[email protected] php-5.2.11]cd ext/mysql/ [[email protected]  mysql]

linux实践——php5编译mysql扩展

系统ubutnu12.04 - php 5.2 通用步骤: 下载 对应php版本的扩展源码 解压并进入目录 执行phpize预编译(一般和php执行文件在一个目录) ./configure --with-php-config=php路径/php-config(如果出现错误安装autoconf) make && makeinstall 配置php.ini文件开启对应的扩展 重启php服务(php-fpm或apache) ------------------------------ 举栗: 现

pycharm虚拟环境virtualnv安装MySQL扩展

一.启动Pycharm,虚拟环境下创建Django项目 1.菜单-File-New Project... 2.在[Select Project Type]窗口中选择[Django] 3.点击[Interpreter]最右边的设置图标,选择[Create VirtualEnv] 参数: Location:E:\PycharmProjects\TM Interpreter:E:\virtualenv\tm Application name:TMJOB Enable Django admin:勾选 4

php数据库编程---mysql扩展库

1, Java有一种方式操作数据库, PHP有三种方式来操作mysql数据库.(1)mysql扩展库:(2)mysqli扩展库:(3)pdo: 2, mysql扩展库和mysql数据库区别 3, mysql数据库的三层结构示意图 4, mysql扩展库是一堆函数,是PHP设计者提供给程序员用于完成对mysql数据库的各种操作(CRUD).使用php的mysql扩展库完成对mysql操作的案例:编写一个程序,这个程序从user1表中读取数据,并打印在网页中. (1)环境搭建 ①启用mysql扩展库

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

一聚教程网 >操作系统>>CentOS > Centos中安装PHP的PDO MySQL扩展的教程 www.111cn.net 编辑:Bolshevik 来源:转载 天在寻思着安装 Drupal 玩一下,在安装的过程中发现数据库选项只支持 SQLite 而没有 MySQL.纳尼?为什么会这样?结果发现没有编译安装PDO MySQL导致的.于是赶紧更新LAMP一键安装脚本. PHP Data Objects(PDO)扩展为 PHP 访问数据库定义了一个轻量级的一致接口.实现 PDO

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

1.使用php的MySQL扩展库操作MySQL数据库: php有3种方式操作MySQL数据库 (1)mysql扩展库 (2)mysqli扩展库 (3)pdo   mysql扩展库与mysql数据库区别 ? php设计者封装了一些方法去操作mysql数据库,这些方法集中起来形成了mysql扩展库.mysql数据库存放数据.     2.使用php的MySQL扩展库操作MySQL数据库案例: (1)环境搭建:启用MySQL数据库,在php.ini文件中配置使用MySQL数据库,