数据库
文章平均质量分 76
数据库知识点
WarLar.
这个作者很懒,什么都没留下…
展开
-
数据库进阶篇: 6.InnoDB引擎
MySQL5.5 版本开始,默认使用InnoDB存储引擎,它擅长事务处理,具有崩溃恢复特性,在日常开发中使用非常广泛。下面是InnoDB架构图,左侧为内存结构,右侧为磁盘结构。当我们创建了一张表,InnoDB会自动添加三个隐藏字段及其含义分别是:而上述的前两个字段是肯定会添加的, 是否添加最后一个字段DB_ROW_ID,得看当前表有没有主键,如果有主键,则不会添加该隐藏字段。回滚日志,在insert、update、delete的时候产生的便于数据回滚的日志。原创 2024-08-27 22:48:22 · 660 阅读 · 0 评论 -
数据库进阶篇 :5.锁
锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中,除传统的计算资源(CPU、RAM、I/O)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。全局锁:锁定数据库中的所有表表级锁:每次操作锁住整张表。行级锁:每次操作锁住对应的行数据。原创 2024-08-27 16:26:45 · 856 阅读 · 0 评论 -
数据库进阶篇:4.视图/存储过程/触发器
视图(View)是一种虚拟存在的表。视图中的数据并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图只保存了查询的SQL逻辑,不保存查询结果。所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上。存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。原创 2024-08-27 15:22:07 · 886 阅读 · 0 评论 -
数据库进阶篇 :3.SQL优化
在之前的测试中,我们发现,如果数据量很大,在执行count操作时,是非常耗时的。MyISAM 引擎把一个表的总行数存在了磁盘上,因此执行 count(*) 的时候会直接返回这个 数,效率很高;但是如果是带条件的count,MyISAM也慢。InnoDB 引擎就麻烦了,它执行 count(*) 的时候,需要把数据一行一行地从引擎里面读出 来,然后累积计数。原创 2024-08-27 14:40:48 · 872 阅读 · 0 评论 -
数据库进阶篇 :2.索引
索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护着满足 特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构 上实现高级查找算法,这种数据结构就是索引。MySQL的索引是在存储引擎层实现的,不同的存储引擎有不同的索引结构,主要包含以下几种:上述是MySQL中所支持的所有的索引结构,接下来,我们再来看看不同的存储引擎对于索引结构的支持 情况。原创 2024-08-27 11:46:37 · 1292 阅读 · 0 评论 -
数据库进阶篇:1.存储引擎
存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被称为表类型。我们可以在创建表的时候,来指定选择的存储引擎,如果没有指定将自动选择默认的存储引擎。1). 建表时指定存储引擎CREATE TABLE 表名(字段1 字段1类型 [ COMMENT 字段1注释 ] ,......字段n 字段n类型 [COMMENT 字段n注释 ]) ENGINE = INNODB [ COMMENT 表注释 ];2). 查询当前数据库支持的存储引擎。原创 2024-08-27 10:30:18 · 630 阅读 · 0 评论 -
数据库基础篇:6.事务
事务 是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。注意: 默认MySQL的事务是自动提交的,也就是说,当执行完一条DML语句时,MySQL会立即隐 式的提交事务。原创 2024-08-26 16:08:06 · 309 阅读 · 0 评论 -
数据库基础篇:5.多表查询
多表查询就是指从多张表中查询数据。在SQL语句中,如何来去除无效的笛卡尔积呢?我们可以给多表查询加上连接查询的条件即可。1). 概念SQL语句中嵌套SELECT语句,称为嵌套查询,又称子查询。子查询外部的语句可以是INSERT / UPDATE / DELETE / SELECT 的任何一个。2). 分类根据子查询结果不同,分为:A. 标量子查询(子查询结果为单个值)B. 列子查询(子查询结果为一列)C. 行子查询(子查询结果为一行)D. 表子查询(子查询结果为多行多列)原创 2024-08-26 15:55:52 · 1067 阅读 · 0 评论 -
数据库基础篇:4.约束
概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。目的:保证数据库中数据的正确、有效性和完整性。外键:用来让两张表的数据之间建立连接,从而保证数据的一致性和完整性。原创 2024-08-26 15:10:55 · 275 阅读 · 0 评论 -
数据库基础篇:3.函数
函数 是指一段可以直接被另一段程序调用的程序或代码。也就意味着,这一段程序或代码在MySQL中已经给我们提供了,我们要做的就是在合适的业务场景调用对应的函数完成对应的业务需求即可。MySQL中的函数主要分为以下四类: 字符串函数、数值函数、日期函数、流程函数。原创 2024-08-26 14:47:53 · 125 阅读 · 0 评论 -
数据库基础篇:2.SQL
SQL 全称 Structured Query Language,结构化查询语言。操作关系型数据库的编程语言,定义了 一套操作关系型数据库统一标准。原创 2024-08-26 14:32:40 · 1077 阅读 · 0 评论 -
数据库基础篇:1.MySQL概述
一个数据库服务器中可以创建多个数据库,一个数据库中也可以包含多张表,而一张表中又可以包 含多行记录。我们可以通过MySQL客户端连接数据库管理系统DBMS,然后通过DBMS操作数据库。可以使用SQL语句,通过数据库管理系统操作数据库,以及操作数据库中的表结构及数据。原创 2024-08-26 11:44:55 · 197 阅读 · 0 评论