热门标签 | 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



推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文探讨了MariaDB在当前数据库市场中的地位和挑战,分析其可能面临的困境,并提出了对未来发展的几点看法。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细介绍了如何通过多种编程语言(如PHP、JSP)实现网站与MySQL数据库的连接,包括创建数据库、表的基本操作,以及数据的读取和写入方法。 ... [详细]
  • 本文介绍了如何通过 Maven 依赖引入 SQLiteJDBC 和 HikariCP 包,从而在 Java 应用中高效地连接和操作 SQLite 数据库。文章提供了详细的代码示例,并解释了每个步骤的实现细节。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • Java 中的 BigDecimal pow()方法,示例 ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • 在当前众多持久层框架中,MyBatis(前身为iBatis)凭借其轻量级、易用性和对SQL的直接支持,成为许多开发者的首选。本文将详细探讨MyBatis的核心概念、设计理念及其优势。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 利用存储过程构建年度日历表的详细指南
    本文将介绍如何使用SQL存储过程创建一个完整的年度日历表。通过实例演示,帮助读者掌握存储过程的应用技巧,并提供详细的代码解析和执行步骤。 ... [详细]
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社区 版权所有