热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

本周学习总结:MySQL函数的应用与Python书籍外借经历

本周,我深入研究了ECharts插件的使用方法,整体感觉插件操作较为简便,但后台算法较为复杂。此外,我还学习了MySQL函数的新应用,进一步提升了数据库操作的灵活性。同时,分享了自己在Python书籍外借过程中的体验,总结了一些实用的借阅技巧和心得。

这个礼拜,研究了echarts 插件的使用。总的来说,插件不难受,但是后台的算法很复杂。

 然后学习了一种全新的sql语句的应用(自己孤陋寡闻)

比如说我想查询某一时间段内的东西

select * from table where YEAR(time)=2017 and MONTH(time)=10 #一条简单的查询,取得符合date类型其中时间为2017 ,月份为10月的数据,其中2017 / 10 两个变量为数字类型

通过简单的函数YEAR和MONTH就能提取出时间类型(time)的年和月,估计天,小时,分,秒也能!这里没细研究。

select ifnull(num,0) from table #一个简单的查询出来的null值默认为0,还记得oracle数据库中为nvl()。

seelct sex
(
case sex when 1 then "男" #case when then 语句,把符合你条件的语句,以你想要的格式显示出来,比之前的ifnull更加强大 when 2 then "女"else "人妖"end
)
from table

最近还尝试写了一下,mysql的触发器

CREATE TRIGGER tr_test #字面上可能就能理解,在test1表执行更新之后,对test2表进行操作如sql语句。
AFTER
UPDATE ON test1        #其中 TRIGGER为触发器关键词。还有更新前/后,插入前/后,删除前/后。大部分只是更改其关键词 after/before insert/update/delete
FOR EACH ROW #在说一个自己经历的小坑,对,触发器只能对另一张表进行操作。也就是说begin/end中的sql语句只能对另一张表进行操作。可能是防止无线循环
BEGIN                  #这里可能看到old.name 函数。显然就有new,old是指更新数据后,之前的数据,new就是更新的数据。这里比较抽象,各位可以慢慢尝试就懂了           
uppdate test2
SET name=new.name WHERE name=old.name;
END;

还有不怎么常用,但是能节省大量java段代码的存储过程,就是把java段的运算,写在mysql数据库段。

DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `test`(IN type int)
BEGIN
if type=1 then #IN type int 代表传入一个参数tyep类型为int.set c=1; #这个存储过程自己老是写不好,不是逻辑不会,而是代码的格式老是报错。至今也是迷迷糊糊,半错半对的就蒙过去了
else if type=2 then #其中参数问题,可以声明返回值,OUT c int 声明返回一个c变量,类型为int set c=2;
else set c=3;
end if;
select c;
end
;;
DELIMITER ;

下面是调用实例

set @type=3; #先声明参数数值为3,然后call存储过程,结果为3;
call test(
@type); #这是因为存储过程里面我自写了一个查询c的sql在里面,所以运行时会自己查询

如果我上面的存储过程没有select c 该怎么去过去c的值呢?

只需要把参数添加一个,OUT c int

调用实例

set @type=3;
call test(
@type,@c); 因为自己知道@c是返回值,所以运行后,@c是已经有值的,这里直接查询就行了
select @c;

 

转:https://www.cnblogs.com/chenchengyi/p/7751634.html



推荐阅读
  • 本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ... [详细]
  • CSS高级技巧:动态高亮当前页面导航
    本文介绍了如何使用CSS实现网站导航栏中当前页面的高亮显示,提升用户体验。通过为每个页面的body元素添加特定ID,并结合导航项的类名,可以轻松实现这一功能。 ... [详细]
  • 目录一、salt-job管理#job存放数据目录#缓存时间设置#Others二、returns模块配置job数据入库#配置returns返回值信息#mysql安全设置#创建模块相关 ... [详细]
  • Java 实现二维极点算法
    本文介绍了一种使用 Java 编程语言实现的二维极点算法。该算法用于从一组二维坐标中筛选出极点,适用于需要处理几何图形和空间数据的应用场景。文章不仅详细解释了算法的工作原理,还提供了完整的代码示例。 ... [详细]
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 本文深入探讨了SQL数据库中常见的面试问题,包括如何获取自增字段的当前值、防止SQL注入的方法、游标的作用与使用、索引的形式及其优缺点,以及事务和存储过程的概念。通过详细的解答和示例,帮助读者更好地理解和应对这些技术问题。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • 深入解析SpringMVC核心组件:DispatcherServlet的工作原理
    本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ... [详细]
  • 深入解析ESFramework中的AgileTcp组件
    本文详细介绍了ESFramework框架中AgileTcp组件的设计与实现。AgileTcp是ESFramework提供的ITcp接口的高效实现,旨在优化TCP通信的性能和结构清晰度。 ... [详细]
  • 深入解析MySQL中的七种JOIN查询
    本文详细介绍了MySQL中常用的七种JOIN查询方法,包括内连接、左外连接、右外连接、全外连接以及排除连接等,并通过实例进行说明。 ... [详细]
  • 本文探讨了在 SQL Server 中使用 JDBC 插入数据时遇到的问题。通过详细分析代码和数据库配置,提供了解决方案并解释了潜在的原因。 ... [详细]
  • 本文详细比较了CSS选择器和XPath在Selenium中通过页面结构定位元素的优劣,并提供了具体的代码示例,帮助读者理解两者在不同场景下的适用性。 ... [详细]
  • Redux入门指南
    本文介绍Redux的基本概念和工作原理,帮助初学者理解如何使用Redux管理应用程序的状态。Redux是一个用于JavaScript应用的状态管理库,特别适用于React项目。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 深入解析动态代理模式:23种设计模式之三
    在设计模式中,动态代理模式是应用最为广泛的一种代理模式。它允许我们在运行时动态创建代理对象,并在调用方法时进行增强处理。本文将详细介绍动态代理的实现机制及其应用场景。 ... [详细]
author-avatar
荣哥918
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有