https://www.cnblogs.com/qmfsun/p/4838032.html
MySQL命令执行sql文件的两种方法

https://www.cnblogs.com/mark-chan/p/5384139.html

CREATE PROCEDURE GreetWorld() SELECT CONCAT(@greeting,' World');
SET @greeting='Hello';
CALL GreetWorld();

https://blog.csdn.net/shaochenshuo/article/details/49890947
mysql中使用tee实现类似oracle spool功能

SELECT
FROM_UNIXTIME(his.clock, "%Y-%m-%d") AS DATE,
his.VALUE AS traffic,
(a.key_) AS NAME,
a.name AS db_name,
a.host AS HOST
FROM
history his,(SELECT i.key_,i.itemid,h.hostid,h.host,h.name FROM items i,HOSTS h
WHERE h.hostid=i.hostid AND i.key_ LIKE '%size%db%oradata,pfree%' ) a
WHERE his.itemid=a.itemid
#AND FROM_UNIXTIME(his.clock) >= '2019-09-16'
# AND FROM_UNIXTIME(clock) < '2019-08-11'
AND FROM_UNIXTIME(clock, '%Y-%m-%d' ) ='2019-09-16'
#GROUP BY FROM_UNIXTIME(his.clock, "%Y-%m-%d")

##https://www.cnblogs.com/mark-chan/p/5384139.html

MySQL存储过程
##参考https://www.cnblogs.com/lyhc/p/5760164.html
mysql存储过程 --游标的使用 取每行记录 (多字段)

delimiter $
create PROCEDURE get_filesystem_inf()
BEGIN
DECLARE key varchar(64); -- id
DECLARE itemid1 varchar(16); -- 监控项ID
DECLARE hostid1 varchar(32); -- hostid
DECLARE host1 varchar(64); -- 主机名
DECLARE name1 varchar(64); -- ip
-- 遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
-- 游标
DECLARE cur_account CURSOR FOR SELECT i.key_,i.itemid,h.hostid,h.host,h.name FROM items i,HOSTS h
WHERE h.hostid=i.hostid AND i.key_ LIKE '%size%db%oradata,pfree%';
-- 将结束标志绑定到游标
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
END
$

delimiter $
create PROCEDURE get_filesystem_inf()
BEGIN
DECLARE key1 varchar(64); -- id
DECLARE itemid1 varchar(16); -- 监控项ID
DECLARE hostid1 varchar(32); -- hostid
DECLARE host1 varchar(64); -- 主机名
DECLARE name1 varchar(64); -- ip
-- 遍历数据结束标志
DECLARE done INT DEFAULT FALSE;
-- 游标
DECLARE cur_account CURSOR FOR SELECT i.key_,i.itemid,h.hostid,h.host,h.name FROM items i,HOSTS h
WHERE h.hostid=i.hostid AND i.key_ LIKE '%size%db%oradata,pfree%';
-- 将结束标志绑定到游标
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;

-- 打开游标
OPEN cur_account;
-- 遍历
read_loop: LOOP
-- 取值 取多个字段
FETCH NEXT from cur_account INTO key,itemid1,hostid1,host1,name1;
IF done THEN
LEAVE read_loop;
END IF;

-- 你自己想做的操作
--insert into account(id,phone,password,name) value(UUID(),phone1,password1,CONCAT(name1,'的家长'));
select itemid1,host11,name1,key,FROM_UNIXTIME(his.clock, "%Y-%m-%d") AS DATE, his.VALUE AS traffic
from history his
WHERE his.itemid=itemid1
and FROM_UNIXTIME(clock, '%Y-%m-%d' ) ='2019-09-16' limit 1;

END LOOP;

CLOSE cur_account;
END $

---mysql 不支持 create or replace procedure 的写法,只支持drop and create
--

drop PROCEDURE get_filesystem_inf;

--最终模板,因为中文好像无法在MYSQL 提示符下识别,所以去掉所有中文
--错误代码: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3
--换行不行, 解决方法 加入 delimiter $
--将脚本 放在 sqlyog 编辑器里,使用sql 格式化下。在放在mysql 提示符下 执行
###计算所有的空间
delimiter $

CREATE PROCEDURE get_filesystem_inf ()
BEGIN
DECLARE key1 VARCHAR(64);
DECLARE itemid1 VARCHAR(16);
DECLARE hostid1 VARCHAR(32);
DECLARE host1 VARCHAR(64);
DECLARE name1 VARCHAR(64);
DECLARE done INT DEFAULT FALSE;
DECLARE cur_account CURSOR FOR
SELECT
i.key_,
i.itemid,
h.hostid,
h.host,
h.name
FROM
items i,
HOSTS h
WHERE h.hostid = i.hostid
AND i.key_ LIKE '%size%db/%/%,pfree%'
AND i.key_ NOT LIKE '%client%,pfree%';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE ;
OPEN cur_account ;
read_loop :
LOOP
FETCH NEXT FROM cur_account INTO key1,itemid1,
hostid1,
host1,
name1 ;
IF done
THEN LEAVE read_loop ;
END IF ;
SELECT
itemid1,
host1,
name1,
key1,
FROM_UNIXTIME(his.clock, "%Y-%m-%d") AS DATE,
his.VALUE AS traffic
FROM
history his
WHERE his.itemid = itemid1
AND FROM_UNIXTIME(clock, '%Y-%m-%d') = '2019-09-16'
LIMIT 1 ;
END LOOP ;
CLOSE cur_account ;
END

##sample

###计算小于35%的空间
CREATE PROCEDURE get_filesystem_inf1 ()
BEGIN
DECLARE key1 VARCHAR(64);
DECLARE itemid1 VARCHAR(16);
DECLARE hostid1 VARCHAR(32);
DECLARE host1 VARCHAR(64);
DECLARE name1 VARCHAR(64);
DECLARE done INT DEFAULT FALSE;
DECLARE cur_account CURSOR FOR
SELECT
i.key_,
i.itemid,
h.hostid,
h.host,
h.name
FROM
items i,
HOSTS h
WHERE h.hostid = i.hostid
AND i.key_ LIKE '%size%db/%/%,pfree%'
AND i.key_ NOT LIKE '%client%,pfree%';
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE ;
OPEN cur_account ;
read_loop :
LOOP
FETCH NEXT FROM cur_account INTO key1,itemid1,
hostid1,
host1,
name1 ;
IF done
THEN LEAVE read_loop ;
END IF ;
SELECT
itemid1,
host1,
name1,
key1,
FROM_UNIXTIME(his.clock, "%Y-%m-%d") AS DATE,
his.VALUE AS traffic
FROM
history his
WHERE his.itemid = itemid1
AND FROM_UNIXTIME(clock, '%Y-%m-%d') = '2019-09-16'
and his.VALUE < 35
LIMIT 1 ;
END LOOP ;
CLOSE cur_account ;
END

tee /tmp/check1.log
call get_filesystem_inf1();
tee off

#############

https://blog.csdn.net/weixin_41986096/article/details/80464008

##查询今天

SELECT column_name(s) FROM table_name WHERE DATE_FORMAT( create_time,'%Y-%m-%d') = DATE_FORMAT(NOW(), '%Y-%m-%d');

DATE_FORMAT()函数用于以不同的格式显示日期/时间数据

DATE_FORMAT(date,format)

date参数是合法的日期。format规定日期/时间的输出格式

NOW()函数返回当前的日期和时间

##查询昨天

SELECT column_name(s) FROM table_name WHERE DATE_FORMAT( create_time,'%Y-%m-%d') = DATE_FORMAT(CURDATE()-1,'%Y-%m-%d');

SELECT column_name(s) FROM table_name WHERE DATE(create_time) =DATE(CURDATE()-1);

##输出格式:2017-04-14

SELECT CURDATE();

##输出格式:2017-04-14 13:44:11

SELECT NOW();
————————————————
版权声明:本文为CSDN博主「摘星族」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41986096/article/details/80464008

转 mysql 存储过程初探的更多相关文章

  1. mysql 存储过程初探

    使用存储过程好处在于: 1.隐藏敏感的算法,避免被正常的开发人员看到,把业务逻辑隐藏在数据库中,而非程序代码里 2.简化应用代码程序,放到数据库里肯定就对程序代码简化有好处了 3.不同的开发语言都可以 ...

  2. MySQL存储过程(转)

    一.MySQL 创建存储过程 "pr_add" 是个简单的 MySQL 存储过程,这个存储过程有两个 int 类型的输入参数 "a"."b" ...

  3. MySql存储过程

    MySQL 存储过程 ```sql CREATE PROCEDURE myprocedure (IN para01 INTEGER) BEGIN DECLARE var01 CHAR(10); IF ...

  4. mysql存储过程和存储函数

    mysql存储过程和存储函数 存数函数代码示例: DROP PROCEDURE IF EXISTS calc_ci_day_suc_rate; delimiter // CREATE FUNCTION ...

  5. mysql存储过程编写-入门案例-遁地龙卷风

    (-1)写在前面 这篇文章只是简要的叙述了mysql存储过程编写的基本概念. 我使用的mysql版本是5.7.9-log. 参照<<深入浅出MySQL>>. (0) delim ...

  6. MySQL存储过程动态SQL语句的生成

    用Mysql存储过程来完成动态SQL语句,使用存储过程有很好的执行效率: 现在有要求如下:根据输入的年份.国家.节假日类型查询一个节假日,我们可以使用一般的SQL语句嵌入到Java代码中,但是执行效率 ...

  7. MySQL 存储过程

    MySQL 存储过程 存储过程是通过给定的语法格式编写自定义的数据库API,类似于给数据库编写可执行函数. 简介 存储过程是一组为了完成特定功能的SQL语句集合,是经过编译后存储在数据库中. 存储过程 ...

  8. mysql存储过程详解

    mysql存储过程详解 1.      存储过程简介   我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的S ...

  9. PHP调用MYSQL存储过程实例

    PHP调用MYSQL存储过程实例 标签: mysql存储phpsqlquerycmd 2010-09-26 11:10 11552人阅读 评论(3) 收藏 举报 实例一:无参的存储过程$conn = ...

随机推荐

  1. HDFS内存配置

    下图是HDFS的架构: 从上图中可以知道,HDFS包含了NameNode.DataNode以及Client三个角色,当我们的HDFS没有配置HA的时候,那还有一个角色就是SecondaryNameNo ...

  2. pycharm flask debug调试接口

    pycharm中对某接口调试,使用print打印日志太麻烦,可以通过debug模式来调试 一.首先开启flask的debug开关 编辑configurations 勾选FLASK_DEBUG选项 已d ...

  3. Windows下串口编程

     造冰箱的大熊猫@cnblogs 2019/1/27 将Windows下串口编程相关信息进行下简单小结,以备后用. 1.打开串口 打开串口使用CreateFile()函数.以打开COM6为例: HAN ...

  4. EL获取域中的数据

    EL(Expression Language)是表达式语言,EL的使用可以减少JAVA代码的书写. 1.EL表达式中的常量: <body bgcolor="#7fffd4"& ...

  5. admin站点管理

    admin中的显示 class Saltstack_GroupAdmin(admin.ModelAdmin): list_display = ['group_name','salt_minion_id ...

  6. 使用pytesseract进行图像识别

    引言 对于简单验证码及一些图像的识别,我们需要使用pytesseract及相应的Tesseract引擎,它是开源的OCR引擎.帮助我们做一些简单的图像识别 当然为了更好将图片识别,对一些像素比较低的图 ...

  7. Pytest权威教程-更改标准(Python)测试发现

    目录 更改标准(Python)测试发现 在测试收集过程中忽略路径 测试期间收集的测试取消 保留从命令行指定的重复路径 更改目录递归 更改命名约定 将cmdline参数解释为Python包 找出收集的东 ...

  8. mysql 统计查询出来的数目

    select count(*) as dd from users;

  9. Prometheus配置文件

    在prometheus监控系统,prometheus的职责是采集,查询和存储和推送报警到alertmanager.本文主要介绍下prometheus的配置文件. 全局配置文件简介 默认配置文件 按 C ...

  10. PHP无法使用curl_init()函数

    主要针对在Ubuntu16.04搭建CRMEB环境时,监测环境会出现一个curl_init问题,这时只需执行如下命令即可解决: sudo apt-get install php-curl