MySQL数据库系统学习笔记(2)
mysql数据库系统学习笔记(2)mysql事物事物是一组完整操作的集合,事物是一个不可分割的操作序列,也是数据库并发控制的基本单位,其执行的结果必须使数据库从一个一致性状态变到另一个一致性状态。事物是逻辑上的一组操作要么都执行要么都不执行。
在一组操作中任何一个环节出现问题都无法完成一个事物操作,例如转账操作,A给B转账,A没发出或者B没收到都不能构成一个事物
在 MySQL 中只有使用了Innodb数据库引擎的数据库或表才支持事务。
事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。
事务用来管理insert、update、delete语句
提交事物在mysql中有两种方式进行事物的操作
自动提交事物 在 MySQL 命令行的默认设置下,事务都是自动提交的,即执行 SQL 语句后就会马上执行COMMIT 操作。因此要显式地开启一个事务务须使用命令BEGIN或START TRANSACTION,或者执行命令SET AUTOCOMMIT=0,用来禁止使用当前会话的自动提交。
理解为自动挡模式,自动帮你踩离合,其中的条件出现问题时候会自 ...
MySQL数据库系统学习笔记(1)
MySQL数据库系统学习笔记一、数据库基础概念1. 核心组件数据库(DB):存储数据的文件系统DBMS:数据库管理系统软件(如MySQL)SQL:结构化查询语言(操作数据库的标准)
2. 数据库分类关系型:MySQL/Oracle/SQL Server(二维表结构)非关系型:Redis/HBase(键值对/文档型)
二、MySQL安装与登录1. 命令行登录123mysql -uroot -proot# -u 用户名# -p 密码
三、SQL语言分类
D:定义M:操作Q:查询C:控制
这部分很重要,重点记忆
DDL:数据定义语言,用来操作数据库对象(数据库,表,字段)
DML:数据操作语言,用来对数据库中表的数据进行增删改
DQL:数据查询语言,用来对数据库中表的数据进行查询操作
DCL:数据控制语言,用来创建数据库用户,控制访问权限
字符库意义对照表
SHOW[显示]
SELECT[查询]
DATABASE[数据库]
IF[如果]
NOT[没有]
EXISTS[存在]
DEFAULT[默认]
CHARSET[字符集]
UTF8[支持中文(万国码)]
DROP[删除]
IF E ...
karword项目开发日志(1)
karword项目开发日志
该程序是一个卡片式树的综合多人辅助开发平台,内置功能,可视为迷你飞书
项目概述开发一个面向团队的知识管理协作平台,核心功能包括:
卡片式文档管理系统
可视化图表编辑(流程图/结构图/甘特图)
实时团队协作
集成通讯功能
技术架构前端技术栈
模块
技术选型
备注
框架
React 18 + TypeScript
使用Vite构建工具
状态管理
Redux Toolkit
配合RTK Query处理API
UI组件库
Ant Design 5.x
企业级UI组件
富文本编辑器
Tiptap
基于ProseMirror的现代编辑器
图表渲染
Mermaid + ECharts
Mermaid用于流程图/时序图
实时协作
Socket.IO Client
与后端WebSocket通信
拖拽交互
react-dnd
卡片和图表元素拖拽
后端技术栈
模块
技术选型
备注
主框架
Spring Boot 3.x
Java 17+
数据库
PostgreSQL 15
关系型数据库
ORM
Spring ...
算法与数据结构核心思想与解题蓝图
算法与数据结构核心思想与解题蓝图目录
哈希(Hash)
双指针(Two Pointers)
滑动窗口(Sliding Window)
子串(Substring)
普通数组(Array)
矩阵(Matrix)
链表(Linked List)
二叉树(Binary Tree)
图论(Graph Theory)
回溯(Backtracking)
二分查找(Binary Search)
栈(Stack)
贪心算法(Greedy)
动态规划(DP)
多维动态规划(Multi-dimensional DP)
技巧(Tricks)
接下来我将简单介绍以上16种算法思想及其使用场景
哈希:快速查找和存储数据双指针:有序数组/链表问题滑动窗口:子数组/子串问题子串:字符串匹配问题普通数组:数组遍历、查找矩阵:二维数组遍历链表:遍历、反转二叉树:遍历、搜索图论:图的遍历回溯:组合、排列二分查找:有序数组查找栈:逆序遍历贪心算法:局部最优解动态规划:最优解多维动态规划:多维数组问题技巧:位运算、前缀和
哈希(Hash)核心思想:利用哈希表(O(1)时间复杂度)快速查找和存储数据适用场景:需要快速查找/ ...
java快速学习速查(5)
java快速学习速查(5)
这个部分包含了Java面向对象部分的全部数据类型,继承,重载,多态,抽象类,封装,接口,枚举,包,反射
这里先简单的理解下关系:
封装 让各部门各司其职,不暴露内部细节。
抽象类/接口 定义岗位职责(做什么)。
继承 建立上下级关系(技术部→开发组)。
重写 让不同岗位对同一任务有不同的执行方式。
多态 让总经理只需喊“开始工作”,不同员工自动做正确的事。
接下来是详解部分:
Java 继承全面解析继承是面向对象编程的三大特性之一(封装、继承、多态),下面我将系统地讲解 Java 继承的各种功能和使用场景。
一、继承基础1. 基本语法12345678910111213141516171819202122232425262728293031323334class Animal { private String name; public Animal(String name) { this.name = name; } public void eat() ...
Java操作蓝图:常用数据结构与方法
Java操作蓝图:常用数据结构与方法
这是为了可以快速使用各种常用数据结构和方法的蓝图集合,通过给出一个空框架,提高效率。
最近刷题陷入了迷茫,往往不知道该用什么数据结构,所以我决定写一个蓝图,方便以后使用。
阅读该文章一定结合该链接一同食用
数据结构及其应用数据结构是计算机存储和组织数据的方式,在工作中,我们通常会直接调用已经封装好的集合API,这样可以更高效的存储和访问数据,提高程序效率
我们的开发学习过程中需要和大量的数据打交道,一般使用集合容器完成
目录
数组(Array)
列表(List/ArrayList)
链表(LinkedList)
栈(Stack)
队列(Queue)
优先队列(PriorityQueue)
集合(Set/HashSet)
有序集合(TreeSet)
映射(Map/HashMap)
有序映射(TreeMap)
字符串操作(String)
工具类(Collections/Arrays)
接下来我对以上12个常用数据结构的用途做下简单的描述数组:
用途:固定大小的连续内存空间,存储相同类型元素
解决问题:快速随机访问,内存紧凑
列表:
用途:动 ...
java快速学习速查(4)
java快速学习速查(4)
尽快吧,这个毕竟得快点做完,本章是初级部分最后一篇了主要内容为数组,日期时间,正则表达式,方法,构造方法,Stream和File和IO,scanner类,异常处理
这页面很多理论知识和即系并没有,我打算进行一些补充操作,你猜为什么我不拉快速跳转链接,我才不会告诉你我的文章链接长过头了
Java 数组全面解析数组是 Java 中存储固定大小同类型元素的数据结构。下面我将系统地讲解 Java 数组的各种功能和使用场景。
一、数组基础1. 声明和初始化数组数组:是一种容器,可以同时存放多个数据值。
数组的特点:
数组是存储多个变量 (元素) 的容器。
数组里面的变量 (元素) 数据类型要一致。
12345678// 声明数组的两种方式int[] numbers1; // 推荐方式int numbers2[]; // C风格,不推荐// 创建数组的三种方式int[] arr1 = new int[5]; // 长度为5的数组,元素初始为0int[] arr2 = {1, 2, 3, 4, 5}; // 直接 ...
java快速学习速查(3)
java快速学习速查(3)
这个部分涉及的方面是循环结构,条件语句,switch case,Number&Math,Character,String,StringBuffer几个方面,对照查询学习
Java循环结构全面解析循环是编程中控制流程的重要结构,Java提供了多种循环方式以满足不同场景的需求。下面我将系统地讲解Java中的循环结构及其应用。
一、循环结构类型1. while循环语法结构:123while (条件表达式) { // 循环体}
特点:
先判断条件,后执行循环体
可能一次都不执行
适合不确定循环次数的场景
示例:1234567891011121314151617// 计算1-100的和int sum = 0;int i = 1;while (i <= 100) { sum += i; i++;}System.out.println("Sum: " + sum);// 读取用户输入直到输入quitScanner scanner = new Scanner(System.in ...
java快速学习速查(2)
java快速学习速查(2)高速通过中ing……
本篇为变量类型,变量命名规则,修饰符,运算符
Java变量类型全面解析变量是Java程序中最基本的存储单元,理解不同类型的变量及其特性是Java编程的基础。下面我将从实际开发角度,深入讲解Java中的各种变量类型。
一、变量类型体系123456789101112Java变量类型├── 按声明位置分│ ├── 成员变量(类中声明)│ │ ├── 实例变量(非static)│ │ └── 类变量(static)│ └── 局部变量(方法/块中声明)│ ├── 方法局部变量│ ├── 代码块变量│ └── 参数变量└── 按数据类型分 ├── 基本类型变量 └── 引用类型变量
二、局部变量详解1. 核心特性
作用域:仅在声明它的方法/代码块内有效
生命周期:方法/块开始执行时创建,执行结束时销毁
存储位置:栈内存
初始化要求:必须显式初始化后才能使用
2. 使用示例1234567891011121314151617181920public class LocalVa ...
java快速学习速查(1)
java快速学习速查(1)
在经历了艰苦卓绝的思想斗争之后,我决定走Java的全栈开发,这是个很难走的路线,但是这是最合适现在的环境的(自认为)
我将会在一周内快速解决Java的本体基础学习,会在乐扣上用题目辅助
注意:这是全栈学习的开端,而且必须要快!!我将以更系统化和结构化的方式为你整理Java基础语法内容,并补充更多实用细节和示例。
这篇文章涉及Java基础语法,注释,对象和类,基本数据类型
Java基础语法全面解析一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。
对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。
类:类是一个模板,它描述一类对象的行为和状态。
方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的。
实例变量:每个对象都有独特的实例变量,对象的状态由这些实例变量的值决定。
一、程序结构核心概念这是构成Java语法结构的最基本框架
类与对象
类:对象的蓝图/模 ...