分类归档

网站开发

FWQ
网站开发
MySQL 日期比较和随机月份的困惑:为什么我的 SQL 查询结果总是变化?
MySQL 日期比较和随机月份的困惑:为什么我的 SQL 查询结果总是变化? 从现在开始,努力学习吧!本文主要讲解了等等相关知识点,我会在米云中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你! 神秘的 mysql 匹配问题:揭秘日期比较和随机月份 在 mysql 中,一则诡异的 sql 查询引起了困扰: select * from teacher where date_format(date_add('2023-11-01',interval floor(rand() * datediff (curdate(), '2023-11-01')) day),'%y-%m') = date_format(create_time, '%y-%m');…
2024-12-01 阅读全文 →
FWQ
网站开发
如何在PostgreSQL中生成自定义格式的ID?
如何在PostgreSQL中生成自定义格式的ID? 从现在开始,努力学习吧!本文主要讲解了等等相关知识点,我会在米云中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你! postgresql生成自定义id格式 在postgresql中,我们通常使用自增主键来生成唯一的id。然而,有时我们需要生成具有特定格式的id,例如前缀字符串或随机字符。 那么,如何生成这样的id呢? 前缀字符串+自增长数字 可以使用serial数据类型和concat()函数来实现: create table your_table_name ( id text primary key default concat('bg-', lpad(serial, 16, '0')) ); 该sql语句将生成类似于以下格式的id: bg-0000000000000001 bg-0000000000000002 ... 前缀字符串+随机字符 可以使用gensalt()函数和substring()函数来生成: create…
2024-12-01 阅读全文 →
FWQ
网站开发
动态生成数据表列,安全隐患如何应对?
动态生成数据表列,安全隐患如何应对? 本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《动态生成数据表列,安全隐患如何应对?》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~ 动态生成数据表列带来的隐患 对于需要动态生成数据表列的后端程序设计,是否存在隐患引发讨论。 隐患分析: 动态生成数据表列相对不稳妥。在大型运维管理平台中,DDL(数据定义语言)通常被禁止,仅授权应用用户读写。动态创建列可能会带来风险。 替代方案: 预先添加固定列:提前增加额外的列(col1、col2、…、colN),并在另一张表中保存映射关系。 使用 NoSQL:NoSQL 数据库支持动态架构,可以应对不断变化的数据需求。 多项目管理中的隐患: 如果管理多个项目,动态修改表结构的权限可能带来更大隐患。随意的开放列修改权限存在风险,尤其是当管理员同时管理大量项目时。 NoSQL 的限制: 尽管 NoSQL 是解决此问题的方案之一,但也不完全赞同。在严格的管理环境中,更换技术需要经过严格审查,并考虑运维压力、维护成本和开发成本等因素。此外,完全掌握新技术也会带来未知风险。 到这里,我们也就讲完了《动态生成数据表列,安全隐患如何应对?》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注米云公众号,带你了解更多关于的知识点!
2024-12-01 阅读全文 →
FWQ
网站开发
SpringBoot+MyBatis+MySQL 批量新增数据时如何避免OOM?
SpringBoot+MyBatis+MySQL 批量新增数据时如何避免OOM? 目前米云上已经有很多关于的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文,也希望能帮助到大家,如果阅读完后真的对你学习有帮助,欢迎动动手指,评论留言并分享~ springboot+mybatis+mysql批量新增数据时,避免数据过大引发oom 在批量新增数据到数据库时,由于数据量不确定,可能导致出现oom(内存溢出)问题。以下是如何避免这种问题的解决方案: 解决方案:分批保存 1. 代码优化 提供的代码在处理最后一段数据时,需要单独处理。可以对代码进行如下优化: public void insert(list<user> list) { int count = 10000; // 每次处理数据量 int pagesize = list.size() % count == 0…
2024-12-01 阅读全文 →
FWQ
网站开发
深度剖析Oracle数据库实例
深度剖析Oracle数据库实例 积累知识,胜过积蓄金银!毕竟在数据库开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《深度剖析Oracle数据库实例》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~ Oracle数据库是世界领先的关系型数据库管理系统(RDBMS),广泛应用于企业级系统中。Oracle数据库的实例是数据库系统的一个重要组成部分,它包括内存结构和后台进程,用于管理数据库的操作。深入了解Oracle数据库实例,可以帮助开发人员更好地优化数据库性能和进行调优工作。 本文将通过具体的代码示例,介绍Oracle数据库实例的相关概念和操作。 Oracle数据库实例的概念 Oracle数据库实例是Oracle数据库在内存中的一个工作环境,每个数据库都有自己的实例。实例由SGA(System Global Area)和后台进程组成。 SGA包括多个组件,如Buffer Cache、Shared Pool、Redo Log Buffer等,用于管理内存中的数据和元数据。后台进程包括PMON(进程监控器)、SMON(系统监控器)、DBWn(数据库写入进程)等,用于管理数据库的各种操作。 创建Oracle数据库实例 要创建Oracle数据库实例,首先需要安装Oracle数据库软件。接下来,可以通过Oracle提供的DBCA(Database Configuration Assistant)工具来创建数据库实例。以下是通过SQL语句手动创建Oracle数据库实例的示例: CREATE DATABASE my_database USER SYS IDENTIFIED BY my_password USER SYSTEM IDENTIFIED…
2024-12-01 阅读全文 →
FWQ
网站开发
如何使用 Django ORM 中的 NOW() 函数获取 MySQL 服务器时间?
如何使用 Django ORM 中的 NOW() 函数获取 MySQL 服务器时间? 本篇文章主要是结合我之前面试的各种经历和实战开发中遇到的问题解决经验整理的,希望这篇《如何使用 Django ORM 中的 NOW() 函数获取 MySQL 服务器时间?》对你有很大帮助!欢迎收藏,分享给更多的需要的朋友学习~ 如何使用 django orm 中的 mysql now() 函数 在 django 中,为了避免在后端机器上获取时间并在保存到 mysql 数据库时造成不同步,可以使用…
2024-12-01 阅读全文 →
FWQ
网站开发
如何高效生成类似 QQ 号的唯一非递增数字 UID?
如何高效生成类似 QQ 号的唯一非递增数字 UID? 目前米云上已经有很多关于的文章了,自己在初次阅读这些文章中,也见识到了很多学习思路;那么本文,也希望能帮助到大家,如果阅读完后真的对你学习有帮助,欢迎动动手指,评论留言并分享~ 优雅生成唯一非递增数字 UID 对于如何生成长度为 8 位、非递增、唯一且无规律的数字 UID,存在多种解决方式。本文将着重讨论一个高效的解决方案,类似于 QQ 号的生成算法: 高效解决方案: 先生成一大批 UID 并将其标记为可用状态(例如,status=0)。每当需要一个 UID 时,执行以下步骤: 使用 SQL 随机查询一条 status=0 的 UID。 使用该 UID 并将其状态标记为…
2024-12-01 阅读全文 →
FWQ
网站开发
在 MyBatis 中,如何安全的处理包含特殊符号的字符串?
在 MyBatis 中,如何安全的处理包含特殊符号的字符串? 今天米云给大家带来了,其中涉及到的知识点包括等等,无论你是小白还是老手,都适合看一看哦~有好的建议也欢迎大家在评论留言,若是看完有所收获,也希望大家能多多点赞支持呀!一起加油学习~ 在 mybatis 中处理特殊符号字符串 当你在使用 mybatis 更新数据表时,如果传入的字符串包含特殊符号(如问号或感叹号),可能会导致 sql 语法错误。 原因分析 mybatis 会自动将 #{} 中的内容解析为 sql 参数,但特殊符号本身在 sql 中也是作为关键字使用的。例如,感叹号(!)表示否定,问号(?)表示占位符。 解决办法 找到问题了,原来 separator 本身就是一个关键词。因此,在使用特殊符号字符串时,需要对其进行转义。方法如下: <update id="update"> UPDATE…
2024-12-01 阅读全文 →
FWQ
网站开发
Spring Boot 使用 PageHelper 分页时,如何处理无内容页面?
Spring Boot 使用 PageHelper 分页时,如何处理无内容页面? 偷偷努力,悄无声息地变强,然后惊艳所有人!哈哈,小伙伴们又来学习啦~今天我将给大家介绍,这篇文章主要会讲到等等知识点,不知道大家对其都有多少了解,下面我们就一起来看一吧!当然,非常希望大家能多多评论,给出合理的建议,我们一起学习,一起进步! 在 spring boot 使用 pagehelper 分页时如何处理无内容页面? 在 spring boot 中使用 pagehelper 分页时,当输入的页码超出数据总页数时,默认情况下它仍会返回最后一页的内容。但是,我们可以通过设置合理的分页参数来实现输入超出页码范围时返回空结构的目标。 如何设置合理的分页参数? pagehelper 中提供了 reasonable 参数,默认值为 false。当该参数设置为 true 时,当 pagenum <=…
2024-12-01 阅读全文 →
FWQ
网站开发
MySQL 存储过程中替换数组文本,为什么提示“大字段信息不存在”?
MySQL 存储过程中替换数组文本,为什么提示“大字段信息不存在”? 本篇文章向大家介绍《MySQL 存储过程中替换数组文本,为什么提示“大字段信息不存在”?》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。 mysql 存储过程中替换数组文本出错? 在使用存储过程替换数组文本时遇到问题,提示”大字段信息不存在”。 以下代码用于从 eb_store_product 表中提取数组文本并替换部分内容: delimiter // drop procedure if exists `replacename`// create procedure replacename() begin declare c int default 0; declare r…
2024-12-01 阅读全文 →