
数据库
文章平均质量分 88
koping_wu
这个作者很懒,什么都没留下…
展开
-
【数据库事务的ACID特性和四种隔离级别】
原子性是指事务是一个不可分割的工作单位,要么全部提交,要么全部回滚。举例:A账户给B账户转账100元。至少有2个步骤,A账户减100元,B账户增加100元。这2个动作要么全部执行成功,要不全部回滚。不存在其他情况。:一致性是指事务执行前后,事务从一个合法性状态变换到另一个合法性状态。这个合法性状态是语义上的,不是语法上的,语义上合理和复合业务预期即可。举例:A账户给B账户转账100元。由于各种原因,最终A账户减了100元,但是B账户没变,此时不满足一致性。原创 2024-12-13 12:23:08 · 608 阅读 · 0 评论 -
【数据库三大范式和反范式】
范式()是数据库设计时遵循的一种规范,不同的规范要求遵循不同的范式。范式可以。目前关系型数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、 第四范式(4NF)和 第五范式(5NF,又称完美范式)。一般说来,数据库只需满足第三范式(3NF)就行了。原创 2024-12-04 12:58:01 · 373 阅读 · 0 评论 -
Mysql高级篇学习总结14:子查询优化、排序优化、GROUP BY优化、分页查询优化
子查询优化、排序优化、GROUP BY优化、分页查询优化原创 2022-07-30 15:03:11 · 1165 阅读 · 0 评论 -
Mysql高级篇学习总结13:多表连接查询语句优化方法(带join语句)
多表连接查询语句优化方法(带join语句)原创 2022-07-30 10:44:15 · 4694 阅读 · 0 评论 -
Mysql高级篇学习总结12:索引失效的11种情况
索引失效的11种情况原创 2022-07-17 22:04:44 · 748 阅读 · 0 评论 -
Mysql高级篇学习总结11:定位执行慢的sql方法、分析查询语句EXPLAIN的使用
定位执行慢的sql方法、分析查询语句EXPLAIN的使用原创 2022-07-16 11:09:32 · 617 阅读 · 0 评论 -
Mysql高级篇学习总结10:适合创建索引的11种情况、不适合创建索引7的种情况
适合创建索引的11种情况、不适合创建索引7的种情况原创 2022-07-09 15:45:39 · 1273 阅读 · 0 评论 -
Mysql高级篇学习总结9:创建索引、删除索引、降序索引、隐藏索引
创建索引、删除索引、降序索引、隐藏索引原创 2022-07-05 21:50:48 · 1529 阅读 · 0 评论 -
Mysql高级篇学习总结8:InnoDB数据存储结构页的概述、页的内部结构、行格式
InnoDB数据存储结构页的概述、页的内部结构、行格式原创 2022-07-02 16:09:55 · 1009 阅读 · 0 评论 -
Mysql高级篇学习总结7:Mysql数据结构-Hash索引、AVL树、B树、B+树的对比
Mysql数据结构-Hash索引、AVL树、B树、B+树的对比原创 2022-06-25 17:21:35 · 674 阅读 · 0 评论 -
Mysql高级篇学习总结6:索引的概念及理解、B+树产生过程详解、MyISAM与InnoDB的对比
索引的概念及理解、B+树产生过程详解原创 2022-06-25 14:17:37 · 991 阅读 · 0 评论 -
Mysql高级篇学习总结5:存储引擎介绍
Mysql高级篇学习总结5:存储引擎介绍1、查看存储引擎2、设置系统默认的存储引擎3、设置表的存储引擎3.1 创建表时指定存储引擎3.2 修改表的存储引擎4、存储引擎介绍4.1 InnoDB引擎:具备外键支持功能的事务存储引擎4.2 MyISAM引擎:主要的非事务处理存储引擎4.3 Archive引擎:主要用于数据存档4.4 CSV引擎:存储数据时,以逗号分隔各个数据项4.5 Memory引擎:置于内存的表5、MyISAM和InnoDB的对比为了管理方便,人们把连接管理、查询缓存、语法解析、查询优化这些并原创 2022-03-24 21:13:31 · 1592 阅读 · 0 评论 -
Mysql高级篇学习总结4:Mysql逻辑架构剖析、sql执行流程、数据库缓冲池设置
Mysql高级篇学习总结4:Mysql逻辑架构剖析、sql执行流程、数据库缓冲池设置1、逻辑架构剖析1.1 服务器处理客户端请求1.2 Connectors1.3 第一层:连接层1.4 第二层:服务层1.5 第三层:引擎层1.6 存储层2、SQL执行流程2.1 Mysql中的sql执行流程2.2 Mysql 5.7 中的sql执行原理3、数据库缓冲池(buffer pool)3.1 缓冲池vs查询缓存3.2 缓冲池如何读取数据3.3 查看/设置缓冲池的大小3.4 多个buffer pool实例1、逻辑架构原创 2022-03-20 20:21:52 · 489 阅读 · 0 评论 -
Mysql高级篇学习总结3:角色管理、配置文件的使用
Mysql高级篇学习总结3:角色管理1、角色管理1.1 角色的理解1.2 创建角色1.3 给角色赋予权限1.4 查看角色权限1.5 回收角色权限1.6 删除角色1.7 给用户赋予角色1.8 激活角色1.9 撤销用户的角色1.10 设置强制角色1、角色管理1.1 角色的理解角色实在Mysql8.0版本中引入的新功能。角色是权限的集合,可以为角色添加或移除权限。用户可以被赋予角色,同事也被授予角色包含的权限。对角色进行操作需要较高的权限。引入角色的目的是方便管理拥有相同权限的用户。恰当的权限设定,可以确原创 2022-03-19 14:53:55 · 1451 阅读 · 0 评论 -
Mysql高级篇学习总结2:用户管理、权限管理
Mysql高级篇学习总结2:1、用户管理1.1 登录Mysql服务器1.2 创建用户1.3 修改用户1.4 删除用户1.5 设置当前用户密码1.6 修改其他用户密码1.7 Mysql 8.0 密码管理1.7.1 密码过期策略1.7.2 密码重用策略1、用户管理Mysql用户可以分为普通用户和root用户。root用户是超级管理员、拥有所有权限,包括创建用户、删除用户和修改用户的密码等管理权限;普通用户只拥有被授予的各种权限。Mysql提供了许多语句用来管理用户账号,这些语句可以用来管理包括登录和退出M原创 2022-03-13 16:33:13 · 1820 阅读 · 0 评论 -
Mysql高级篇学习总结1:Mysql的数据目录
Mysql高级篇学习第1章:Mysql的数据目录1、Mysql8的主要目录结构1.1 数据文件的存放路径1.2 相关命令目录1.3 配置文件目录1、Mysql8的主要目录结构安装好mysql后,可以查看安装了mysql的目录:find / -name mysql1.1 数据文件的存放路径Mysql数据库文件的存放路径:/var/lib/mysql/1.2 相关命令目录1.3 配置文件目录...原创 2022-03-12 16:22:21 · 2056 阅读 · 0 评论 -
Mysql学习总结十四:触发器
Mysql学习总结十四:触发器1、触发器概述2、触发器的创建2.1 创建触发器语法2.2 代码举例3、查看、删除触发器3.1 查看触发器3.2 删除触发器1、触发器概述 在实际开发中,我们经常会遇到这样的情况:有 2 个或者多个相互关联的表,如 商品信息 和 库存信息 分别存放在 2 个不同的数据表中,我们在添加一条新商品记录的时候,为了保证数据的完整性,必须同时在库存表中添加一条库存记录。 这样一来,我们就必须把这两个关联的操作步骤写到程序里面,而且要用 事务 包裹起来,确保这两个操作成为一个原创 2022-03-06 13:01:07 · 1605 阅读 · 0 评论 -
Mysql学习总结十三:流程控制之IF、CASE、LOOP、WHILE&游标详解
Mysql学习总结十三:流程控制之IF、CASE、LOOP、WHILE&游标详解1、流程控制1.1 分支结构之 IF1.2 分支结构之 CASE1.3 循环结构之LOOP1.4 循环结构之WHILE1.5 循环结构之REPEAT1.6 跳转语句之LEAVE语句1.7 跳转语句之ITERATE语句2、游标2.1 什么是游标2.2 使用游标步骤2.3 游标小结1、流程控制 解决复杂问题不可能通过一个 SQL 语句完成,我们需要执行多个 SQL 操作。流程控制语句的作用就是控制存储过程中 SQL 语句的执行原创 2022-02-27 16:48:36 · 1156 阅读 · 2 评论 -
Mysql学习总结十二:系统变量、用户变量、定义条件和处理程序
Mysql学习总结十二:系统变量、用户变量、定义条件和处理程序1、变量1.1 系统变量1.1.1 系统变量的分类1.1.2 查看系统变量1.2 用户变量1.2.1 用户变量的分类1.2.2 会话用户变量1.2.3 局部变量1.2.4 对比会话用户变量与局部变量2、定义条件与处理程序2.1 定义条件2.2 定义处理程序2.3 举例说明1、变量 在MySQL数据库的存储过程和函数中,可以使用变量来存储查询或计算的中间结果数据,或者输出最终的结果数据。 在 MySQL 数据库中,变量分为 系统变量 以及原创 2022-02-27 15:48:01 · 773 阅读 · 0 评论 -
Mysql学习总结十一:存储过程与存储函数使用详解
Mysql学习总结十一:存储过程与存储函数使用详解1、存储过程概述1.1 理解存储过程1.2 分类2、创建存储过程2.1 语法分析2.2 代码举例2.3 如何调用存储过程3、存储函数的使用3.1 语法分析3.2 调用存储函数3.3 代码举例3.4 对比存储函数和存储过程4、存储过程和函数的查看、修改、删除4.1 查看4.2 修改4.3 删除5、存储过程的优缺点5.1 存储过程的优点5.2 存储过程的缺点1、存储过程概述1.1 理解存储过程 存储过程的英文是 Stored Procedure 。它的思原创 2022-02-26 19:13:41 · 1959 阅读 · 0 评论 -
Mysql学习总结十:视图使用详解
Mysql学习总结十:视图使用详解1、视图概述1.1 为什么要使用视图?1.2 视图的理解2、创建视图2.1 创建单表视图2.2 创建多表联合视图2.3 基于视图创建视图3、查看视图4、更新视图4.1 一般情况4.2 不可更新的视图5、修改、删除视图5.1 修改视图5.2 删除视图6、视图的优缺点6.1 视图的优点6.2 删除的缺点1、视图概述1.1 为什么要使用视图? 视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。 比如,针对一个公司的销售人原创 2022-02-26 16:41:36 · 1078 阅读 · 0 评论 -
Mysql学习总结九:约束之非空约束、唯一性约束、PRIMARY KEY、AUTO_INCREMENT、FOREIGN KEY、DEFAULT等
Mysql学习总结九:约束之非空约束、唯一性约束、PRIMARY KEY、AUTO_INCREMENT、FOREIGN KEY、DEFAULT等1、约束(constraint)概述1.1 为什么需要约束1.2 什么是约束1.3 约束的分类1.4 查看某个表已有的约束2、非空约束2.1 作用2.2 关键字2.3 特点2.4 添加非空约束2.5 删除非空约束3、唯一性约束3.1 作用3.2 关键字3.3 特点3.4 添加唯一约束3.5 复合唯一约束3.6 删除唯一约束4、PRIMARY KEY 约束4.1 作用原创 2022-02-26 15:12:41 · 930 阅读 · 0 评论 -
Mysql学习总结八:数据处理之增删改
Mysql学习总结八:数据处理之增删改1、插入数据1.1 插入方式1:VALUES方式1.1 插入方式2:将查询结果插入到表中2、更新数据3、删除数据1、插入数据1.1 插入方式1:VALUES方式情况1:为表的指定字段插入数据INSERT INTO 表名(column1 [, column2, ..., columnn])VALUES (value1 [,value2, ..., valuen]);情况2:同时插入多条记录INSERT INTO table_name(column1 [,原创 2022-02-26 12:38:02 · 402 阅读 · 0 评论 -
Mysql学习总结七:创建和管理数据库、创建表、修改表、删除表
Mysql学习总结七:创建和管理数据库、创建表、修改表、删除表1、创建和管理数据库1.1 创建数据库1.2 使用数据库1.3 修改数据库1.4 删除数据库2、创建表2.1 创建方式1:自定义创建2.2 创建方式2:使用已有表创建2.3 查看数据表结构3、修改表3.1 追加一个列3.2 修改一个列3.3 重命名一个列3.4 删除一个列4、重命名表5、删除表6、清空表1、创建和管理数据库1.1 创建数据库判断数据库是否已经存在,不存在则创建数据库:CREATE DATABASE IF NOT EXIST原创 2022-02-20 16:21:10 · 1100 阅读 · 2 评论 -
Mysql学习总结六:数据类型、整数、浮点数、定点数、文本字符串、二进制字符串
Mysql学习总结六:数据类型、整数、浮点数、定点数、文本字符串、二进制字符串1、Mysql中的数据类型2、整数类型2.1 类型介绍3、浮点类型3.1 类型介绍3.2 精度误差说明4、定点数类型5、位类型6、文本字符串类型6.1 CHAR与VARCHAR类型6.2 TEXT类型7、二进制字符串类型8、小结1、Mysql中的数据类型常见数据类型的属性如下:2、整数类型2.1 类型介绍整数类型一共有 5 种,包括 TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)和 B原创 2022-02-20 15:28:54 · 1762 阅读 · 0 评论 -
Mysql学习总结一:mysql问题总结大全
Mysql学习总结一1、数据库的相关概念 需要了解什么是DBMS?DBMS和数据库之间是什么关系?SQL的中英文全称是什么?数据库管理系统DBMS(Database Management System):是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。常见的如:Mysql,Oracle,PostgreSQL等。数据库DB(Database):即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数原创 2022-02-19 16:52:38 · 1712 阅读 · 0 评论 -
Mysql学习总结五:子查询
Mysql学习总结五:子查询1、单行子查询2、多行子查询3、相关子查询3.1 相关子查询3.2 相关更新3.3 相关删除 子查询大致可以分为3类:单行子查询,多行子查询,相关子查询、1、单行子查询单行子查询是指子查询结果是当行的情况,单行子查询的操作符如下:举例:查询工资大于149号员工工资的员工的信息2、多行子查询多行子查询是指子查询的结果有多行,多行比较操作符如下:举例:返回其它job_id中比job_id为‘IT_PROG’部门任一工资低的员工的员工号、姓名、job_id 以及s原创 2022-02-19 16:47:33 · 625 阅读 · 0 评论 -
Mysql学习总结四:聚合函数、SELECT查询基本结构、SELECT查询执行顺序
Mysql学习总结四:聚合函数、SELECT查询基本结构和执行顺序1、聚合函数2、SELECT查询结构和执行顺序2.1 SELECT查询结构2.2 SELECT执行顺序1、聚合函数聚合函数的类型如下:AVG()SUM()MAX()MIN()COUNT()聚合函数的语法如下:SELECT column, group_function(column)FROM table[WHEREcondition][GROUP BY group_by_expression][HAVING gr原创 2022-02-19 16:02:19 · 868 阅读 · 0 评论 -
Mysql学习总结三:基本函数、字符串函数、日期和时间函数、流程控制函数、加密解密函数
Mysql学习总结三:基本函数、字符串函数、日期和时间函数、流程控制函数、加密解密函数1、基本函数2、字符串函数3、日期和时间函数3.1 获取日期、时间3.2 获取月份、星期、星期数、天数等函数3.3 日期的操作函数3.4 时间和秒钟转换的函数3.5 计算日期和时间的函数3.6 日期的格式化和解析4、流程控制函数5、加密解密函数6、Mysql信息函数7、其他函数1、基本函数2、字符串函数3、日期和时间函数3.1 获取日期、时间3.2 获取月份、星期、星期数、天数等函数3.3 日期的操作原创 2022-02-19 15:17:29 · 750 阅读 · 0 评论 -
Mysql学习总结二:客户端登录、正则表达式查询、7种join实现
Mysql学习总结二:客户端登录、正则表达式查询、7种join实现1、windows环境,服务的启动方式2、windows环境,客户端的登录和退出3、使用正则表达式查询4、7种SQL JOINS的实现1、windows环境,服务的启动方式1)使用windows服务的图形化界面; 2)使用命令行:# 启动 MySQL 服务命令:net start MySQL服务名# 停止 MySQL 服务命令:net stop MySQL服务名2、windows环境,客户端的登录和退出windows命令原创 2022-02-19 14:42:14 · 543 阅读 · 0 评论 -
数据库工作经验总结一
数据库工作经验总结一1、涉及数据库表的删除操作时,一定需要做备份。 例如需要对员工表(employees)做删除操作之前,可以先将原表备份一份。mysql中的操作如下:-- 备份employees表CREATE TABLE employees_backup ASSELECT * FROM employees;2、当需要完成数据同步任务时,尽可能选择第三方工具异步操作,而不要使用应用系统同步数据。 这条是在设计评审时,评审老师给的建议,我对这条建议的理解如下: 举个栗子。应用系统A每原创 2022-02-19 11:51:35 · 875 阅读 · 0 评论