- 博客(30)
- 收藏
- 关注
原创 聚合查询&&联合查询&&子查询
文章摘要:聚合查询是针对数据表行间运算的查询方式,主要包括count()、sum()、avg()、min()/max()等函数。分组查询使用GROUP BY子句,配合HAVING对分组结果过滤。联合查询通过多表连接(内连接/外连接)获取完整业务数据,需经过笛卡尔积、连接条件过滤等步骤。自连接可实现行转列功能,子查询则通过嵌套SQL语句实现复杂查询条件,包括单行子查询、多行子查询和EXISTS子查询等形式。
2025-09-09 20:54:30
629
原创 数据库约束&&表的设计
文章摘要:数据库约束是保证数据完整性的重要机制,主要包括NOT NULL(非空)、UNIQUE(唯一)、DEFAULT(默认)、PRIMARY KEY(主键)、FOREIGN KEY(外键)和CHECK(检查)六种类型。数据库设计需遵循三大范式:1NF要求字段不可再拆分;2NF消除非关键字段对候选键的部分依赖;3NF消除传递依赖。实体间关系分为一对一、一对多和多对多三种,需根据关系类型设计表结构,确保数据的一致性和正确性。
2025-09-08 21:58:09
735
原创 MYSQL表的增删改查
本文介绍了SQL数据库的基本操作,包括数据新增、查询、修改和删除。新增数据时,单条和多条插入的效率对比;查询操作涵盖全列查询、指定列查询、表达式计算、别名、去重、排序和条件查询等技巧;修改和删除数据时强调了不加条件的危险性。文章特别指出生产环境中全列查询和大批量删除的风险,建议使用标记删除替代物理删除。同时详细说明了NULL值的特殊处理、模糊匹配和分页查询等实用功能,为数据库操作提供了全面的指导。
2025-08-31 14:55:05
726
原创 数据库的操作
本文介绍了MySQL数据库的基本操作,包括查看、创建、选择和删除数据库的方法。详细说明了创建数据库时的字符集设置(推荐8.0版本使用utf8mb4字符集)和注意事项,如关键字命名需使用反引号。文章还列举了常见的数据类型,包括数值类型(如INT、DECIMAL)、字符串类型(VARCHAR、TEXT)和日期类型(TIMESTAMP、DATETIME)。最后讲解了表的创建、查看和删除操作,强调删除操作需谨慎。文中多次提醒数据库操作的风险,建议定期备份数据。
2025-08-30 21:31:27
694
原创 数据库基本知识
MySQL是一种关系型数据库管理系统,用于组织和持久化存储数据。数据库通过特定数据结构管理数据,与内存存储不同,它能将数据保存在磁盘中实现持久化。常见关系型数据库包括MySQL(最常用)、SQLite、Oracle等;非关系型数据库有Redis、MongoDB等。操作数据库需使用SQL语言,分为DDL(定义数据结构)、DML(操作数据)和DCL(权限管理)三类。客户端可通过终端或图形化工具(如Navicat)与数据库服务交互,采用CS架构通过网络通信。
2025-08-30 11:39:11
430
原创 哈希表知识总结
本文介绍了哈希函数的基本概念及其实现方法。哈希函数通过建立关键码与存储位置的映射关系,实现高效查找。文章分析了哈希冲突的必然性,并提出了两种解决方案:负载因子调节和冲突处理(闭散列和开散列)。重点讲解了链地址法(开散列)的实现原理,包括哈希桶的模拟实现和扩容机制。最后指出哈希表的时间复杂度为O(1),并介绍了Java中HashMap和HashSet的实现方式,强调必须重写hashCode和equals方法。
2025-08-21 19:27:59
740
原创 TreeMap和TreeSet知识总结
摘要:本文介绍了二叉搜索树的基本概念及其实现方法。二叉搜索树的特点是左子树节点值小于根节点,右子树节点值大于根节点。重点讲解了插入和删除操作的实现逻辑,包括时间复杂度分析(最优O(logN),最坏O(N))。同时介绍了Java中基于搜索树的TreeMap和TreeSet实现,对比了它们的特性差异,包括底层结构、时间复杂度、有序性等。在集合类部分,详细说明了Map和Set接口的使用方法、注意事项及适用场景,特别强调了TreeMap/HashMap和TreeSet/HashSet在实现和应用上的关键区别。
2025-08-15 12:04:52
853
原创 PriorityQueue和Java对象的比较
本文介绍了优先级队列和堆的基本概念。优先级队列支持返回最高优先级对象和添加新对象操作,底层使用堆结构实现。堆分为大根堆和小根堆,采用数组顺序存储。详细讲解了堆的创建、插入、删除等操作的核心代码实现,包括shiftDown和shiftUp调整方法。文章还探讨了堆的三个主要应用:优先级队列模拟、堆排序(时间复杂度O(NlogN))和Top-K问题解法。最后介绍了Java中PriorityQueue的特性,包括默认小根堆、线程不安全、插入删除O(logN)复杂度等特点,以及通过比较器实现大小根堆转换的方法。
2025-08-06 09:18:19
401
原创 二叉树的基础知识
摘要:树形结构是一种非线性数据结构,具有递归特性,包含根节点、子节点等概念。二叉树是重要特例,分为满二叉树和完全二叉树,具有结点数、叶子数等性质。存储方式包括顺序和链式,遍历方法有前序、中序、后序和层序四种。文章详细介绍了计算结点数、叶子数、高度等常见操作的实现方法,以及判断树相同、构建二叉树等高级操作,涵盖了二叉树核心知识点和算法实现。
2025-08-05 16:41:32
545
原创 顺序表和链表
摘要:本文介绍了顺序表和链表的基本概念与实现。顺序表是基于数组的线性结构,实现包括增删查改等操作,支持动态扩容。链表分为单向/双向等类型,重点实现了无头单向非循环链表的基本操作。文章还对比了ArrayList和LinkedList的特点:ArrayList查询快但增删慢,基于数组;LinkedList增删快但查询慢,基于双向链表。最后介绍了两种数据结构在Java中的实际应用,包括构造方法、遍历方式等。
2025-08-02 13:31:21
433
原创 栈和队列相关知识
本文介绍了栈和队列的基本概念及实现方法。栈是一种先进后出的数据结构,可用数组或链表实现,主要操作包括push、pop和peek。队列是先进先出的线性表,支持offer、poll和peek操作,可通过单链表、双向链表或循环数组实现。文章还探讨了循环队列空满判断方法,以及如何使用队列实现栈和用栈实现队列的相互转换技巧。提供了Java代码示例,包括MyStack、MyQueue、MyCircularQueue等类的实现,展示了数据结构的基本操作和特殊情况的处理方式。
2025-08-02 12:08:30
353
原创 数据结构基础知识
本文介绍了Java集合框架和数据结构的基础概念。主要内容包括:1)集合框架是Java实现的数据结构类;2)数据结构与数据库的区别;3)时间和空间复杂度分析,重点讲解大O表示法;4)包装类的装箱拆箱机制及自动装箱陷阱;5)泛型的基本概念、语法和使用方式,包括类型擦除和泛型上界。文章通过代码示例说明了包装类在-128到127范围内的特殊处理机制,并解释了泛型在编译期的类型检查机制。
2025-07-29 16:51:58
326
原创 Java基础之异常
本文介绍了Java异常处理机制,主要包括异常的概念、常见异常类型(算数异常、数组越界、空指针异常等)以及两种异常处理方式(防御式编程和事后认错型)。重点讲解了异常处理的五个关键词(throw、try、catch、finally、throws)的使用方法,并通过示例说明了如何自定义异常类来满足实际开发需求。文章还特别强调了异常处理流程中的注意事项,如try-catch块的执行顺序、finally块的作用等,最后通过一个登录验证的案例展示了自定义异常的具体应用。
2025-06-30 18:46:49
409
原创 数据在内存中的存储
学习了操作符之后,我们知道整数2进制有三种表示方法:原码,反码,补码有符号整数:三种表示方法均有符号位和整数位,符号位用0表示正,最高位为符号位正整数原反补码均相同负整数:数值按二进制翻译即为原码,原码符号位不变,其他按位取反就是反码,反码加一为补码整形:数据存放在内存的是是补码(使用补码可以将符号位和数值域统一处理)
2025-05-28 14:40:01
573
原创 分支和循环语句
3.控制语句(控制语句又分为分支语句:if/switch;循环执行语句:do while/while/for;转向语句:break/goto/continue/return;for(循环变量赋初值;循环变量值更新)----->";case 整形常量表达式;无breake可以多对一个结果。----->跳出,永远终止循环。default---->case无法匹配。Switch(整形表达式)while(表达式)}while(表达式);一.C语言中的语句分类。2.Switch语句。
2025-04-12 15:57:29
122
原创 开启编程之旅
目前对编程了解较为浅薄,从短期来看,我的目标是基本掌握c语言,在此基础上主动去学习其他编程语言,希望能达到熟练掌握的目标;从长期来看,我希望在不断学习的过程中,能发现自己的兴趣所在,能明白自己未来所想做的事情。2.其次要实践,多多进行代码练习,形成自己的代码风格,更好在实践中运用C语言;1.首先要掌握基础知识,通过阅读 相关书籍,网课的方法进行基础知识的学习;我现在是一名大一新生,目前正在学习c语言,也正如此开始了我的编程之旅。每周花费10-16小时学习c语言。
2025-03-30 12:41:05
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人