mysql数据库之函数、流程控制

函数

注意与存储过程的区别,mysql内置的函数只能在sql语句中使用!

参考博客:http://www.cnblogs.com/linhaifeng/articles/7495918.html#_label2

CREATE TABLE blog (
    id INT PRIMARY KEY auto_increment,
    NAME CHAR (32),
    sub_time datetime
);
?
INSERT INTO blog (NAME, sub_time)
VALUES
    (‘第1篇‘,‘2015-03-01 11:31:21‘),
    (‘第2篇‘,‘2015-03-11 16:31:21‘),
    (‘第3篇‘,‘2016-07-01 10:21:31‘),
    (‘第4篇‘,‘2016-07-22 09:23:21‘),
    (‘第5篇‘,‘2016-07-23 10:11:11‘),
    (‘第6篇‘,‘2016-07-25 11:21:31‘),
    (‘第7篇‘,‘2017-03-01 15:33:21‘),
    (‘第8篇‘,‘2017-03-01 17:32:21‘),
    (‘第9篇‘,‘2017-03-01 18:31:21‘);
?
select date_format(sub_time,‘%Y-%m‘),count(id) from blog group by date_format(sub_time,‘%Y-%m‘);

# 查询结果:

+-------------------------------+-----------+
| date_format(sub_time,"%Y-%m") | count(id) |
+-------------------------------+-----------+
| 2015-03 | 2 |
| 2016-07 | 4 |
| 2017-03 | 3 |
+-------------------------------+-----------+

流程控制

# if条件语句
delimiter //
CREATE PROCEDURE proc_if ()
BEGIN

    declare i int default 0;
    if i = 1 THEN
        SELECT 1;
    ELSEIF i = 2 THEN
        SELECT 2;
    ELSE
        SELECT 7;
    END IF;
?
END //
delimiter ;
# while循环
delimiter //
CREATE PROCEDURE proc_while ()
BEGIN
?
    DECLARE num INT ;
    SET num = 0 ;
    WHILE num < 10 DO
        SELECT
            num ;
        SET num = num + 1 ;
    END WHILE ;
?
END //
delimiter ;

原文地址:https://www.cnblogs.com/dongxixi/p/10885297.html

时间: 2024-09-30 06:26:36

mysql数据库之函数、流程控制的相关文章

MySQL-视图-触发器-事务-存储过程-函数-流程控制-索引与慢查询优化-06

目录 视图*** 什么是视图 为什么要用视图 如何生成视图 修改视图 --> 最好(千万)不要 关联表数据改动前 关联表数据改动之后 触发器 什么是触发器 触发条件 触发器语法结构 修改mysql的默认结束符(;) 触发器死循环 六个触发器的执行时机 新增前.新增后.删除前.删除后.更新前.更新后 NEW对象指代的就是当前记录(对象) 事务 ***** 什么是事务 事务的四大特性 ACID A:原子性 atomicity C:一致性 consistency I:隔离性 isolation D:持

【转】MySql数据库--mysql_real_escape_string()函数

MySql数据库--mysql_real_escape_string()函数 来自:http://www.cppblog.com/woaidongmao/archive/2009/08/13/93154.html unsigned long mysql_real_escape_string(MYSQL *mysql, char *to, const char *from, unsigned long length) 注意,mysql必须是有效的开放式连接.之所以需要它是因为,转义功能取决于服务器

MySQL之视图、触发器、事务、存储过程、函数 流程控制

阅读目录 一 视图 二 触发器 三 事务 四 存储过程 五 函数 六 流程控制 MySQL这个软件想将数据处理的所有事情,能够在mysql这个层面上全部都做了,也就是说它想要完成一件事,以后想开发的人,例如想写python程序的人,你就专门的写你自己的python程序,以后凡是关于数据的增删改查,全部都在MySQL里面完成,也就是说它想实现一个数据处理与应用程序的一个完全的解耦和状态,比如说,如果我是个应用程序员,我想要查询数据,我不需要自己写sql语句,只需要调用mysql封装好的一些功能,直

MySQL拓展 视图,触发器,事务,存储过程,内置函数,流程控制,索引,慢查询优化

视图: 1.什么是视图 视图就是通过查询得到一张虚拟表,然后保存下来,下次直接使用即可 2.为什么要用视图 如果要频繁使用一张虚拟表,可以不用重复查询 3.如何使用视图 create view teacher2course as select * from teacher inner join course on teacher.tid = course.teacher_id; 强调: (1)在硬盘中,视图只有表结构文件,没有表结构数据 (2)视图通常是用于查询,尽量不要修改视图中的数据 dro

MYSQL数据库重点:流程控制语句、自定义函数、存储过程、触发器、事件、视图

一.流程控制语句 1.分支结构 IF分支: IF 条件1 THEN 语句;ELSEIF 条件2 THEN 语句; ......ELSE 语句;END IF; CASE分支: CASE [条件] WHEN 条件1 THEN 语句1WHEN 条件2 THEN 语句2 ......ELSE 语句nEND CASE 2.循环结构 LOOP循环: [begin_label:] LOOP 语句群END LOOP [end_label] WHILE语句: [begin_label:] WHILE 条件 DO

MySQL 数据库 password函数

在MySQL数据库中 执行下面这一句,会对字符串生成加密后的 新的字符串 .用户在数据库中存储密码. SELECT PASSWORD('aa') 生成的字符串 已 * 号开头. 比如 '*DEE59C300700AF9B586F9F2A702231C0AC373A13' SELECT OLD_PASSWORD('aa') ; OLD_PASSWORD 是旧版本的加密函数 ,生成的字符串是 16位的 如'aa' 加密后是 '077baf58491e1952' . 这种生成密码的方法 依赖数据库,而

MySQL 数据库 常用函数

一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 SELECT CEIL(1.5) -- 返回2 FLOOR(x) 返回小于或等于x的最大整数 SELECT FLOOR(1.5) -- 返回1 RAND() 返回0->1的随机数 SELECT RAND() --0.93099315644334 RAND(x) 返回0->1的随机数,x值相同时返

MySQL数据库的使用流程,代码解释

数据库的使用流程: 1.注册驱动: 2.用DriverManager.getConnection方法获得连接对象con: A方法:  3.用连接对象的createStatement()方法,获得可以执行sql语句的对象stmt:  4.stmt执行查询(查询语句): B方法(推荐):  3.用连接对象的prepareStatement方法,获得带参数(查询语句)的预处理对象pstmt:  4.pstmt执行查询,并将结果集赋予ResultSet对象: 1 public class DbTest{

MySQL数据库------常用函数

一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. [1]ABS(x)        返回x的绝对值 例子:SELECT ABS(-1) -- 返回1 [2]CEIL(x),CEILING(x)        返回大于或等于x的最小整数 例子:SELECT CEIL(1.5) -- 返回2 [3]FLOOR(x) x是一个数        返回小于或等于x的最大整数 例子:SELECT FLOOR(1.5) -- 返回1 [4]RAND() 根据当前的时间       返回0->1的随