mysql 学习、复习资料整理详细

news2024/10/7 20:27:31

mysql 学习、复习资料整理详细

  • 1、数据库基础
    • 1.1 数据库设计遵循的原则
    • 1.2 数据库范式
    • 1.2 数据库完整性的实现
  • 2、mysql特点
  • 3、事务
    • 3.1 事务的四大特性 – ACID
    • 3.2 并发事务问题
    • 3.3 事务的四大隔离级别
    • 3.4 事务隔离级别操作sql
    • 3.5 事务原理 – LBCC MVCC
      • 3.4.1 行的隐藏列
      • 3.4.2 ReadView
      • 3.4.3 MVCC在四种隔离级别下的区别
    • 3.5 undo log、binlog、redo log
    • 3.6 事务提交过程
    • 3.7 事务的操作sql📌
    • 3.8 MySQL中是如何实现事务提交和回滚的?
  • 4、数据库主从读写
    • 4.1 数据库主从复制原理
    • 4.2 数据库主从读写延迟解决方案
  • 5、锁
  • 6、主键、外键
    • 6.1 主键
      • 6.1.1 主键sql
      • 6.1.2 主键自增设置
      • 6.1.3 自增主键与uuid区别
      • 6.1.4 主键与索引的区别
    • 6.2 外键
  • 7、索引
    • 7.1 索引机制
    • 7.2 聚集索引、非聚集索引、覆盖索引、联合索引 辅助索引
    • 7.3 前缀索引 全部索引
  • 8、存储引擎
  • 9、mysql的连接类型 - 7种
  • 10、分库 分表 分页
  • 11、聚合函数
  • 12、查询
    • 12.1 联表查询
    • 12.2 左连接 右连接
    • 12.3 where having
    • 12.4 drop delete truncate

1、数据库基础

1.1 数据库设计遵循的原则

 设计数据表的时候,要考虑很多的问题:
  (1) 用户需要哪些数据,我们在数据表中要保存哪一些数据
  (2)怎么保证数据表中的数据的正确性
  (3)如何降低数据表的冗余度
  (4)开发人员怎么才能更方便的使用数据库
 如果数据库设计得不合理的话,可能导致下面的几种问题:
  (1)设计容易,信息重复,存储空间浪费
  (2)数据更新,插入,删除的异常
  (3)不能正确表示信息
  (4)丢失有效信息
  (5)程序性能差
 我们可以看出设计良好的数据库是很重要的,它有下面的优点:
  (1)节省数据的存储空间
  (2)能够保证数据的完整性
  (3)方便进行数据库应用系统的开发
 设计数据库,我们得重视数据表的设计,为了建立冗余度小,结构合理的数据库,设计数据库必须遵循一定的规则。

1.2 数据库范式

  关系型数据库中,关于数据表设计的基本原则,规则就称为范式,范式是我们在设计数据库结构过程中需要遵循的规则和指导方法。
1
范式的详细介绍,参考链接:数据库的三大范式

1.2 数据库完整性的实现

  1. 数据库表设计遵循三大范式原则 ;
  2. 可以使用约束实现数据完整性,一个约束只能对一个表的一个列产生作用,如
    2
  3. 可以使用规则和默认值,规则和默认值在创建了以后,它不属于某个表,只有在绑定了命令了以后才会发生关系,可以绑定到多个表多个列中。
    3
    4

详细描述参考链接:数据库—怎样实现数据完整性

2、mysql特点

  1. 功能强大:MySQL提供了多种数据库存储引擎,各个引擎各有所长,适用于不同应用场合。用户可以选择最合适的引擎以得到最高性能,这些引擎升值可以应用处理每天访问量数亿的高强度Web搜索站点。MySQL支持事务、视图、存储过程和触发器等。
  2. 支持跨平台:MySQL支持至少20种以上的开发平台,包括Linux、Windows、FreeBSD、IBMAIX、AIX和FreeBSD等。这使得在任何平台下编写的程序都可以进行移植,而不需要对程序做任何修改。
  3. 运行速度快:高速是MySQL的显著特性。在MySQL中,使用了极快的B书磁盘表(MyISAM)和索引压缩;通过使用优化的单扫描多连接,能够极快的实现连接;SQL函数使用高度优化的类库实现,运行速度极快。
  4. 支持面向对象:PHP支持混合编程方式。编程方式可分为纯粹面向对象、纯粹面向过程、面向对象与面向过程混合3种方式。
  5. 安全性高;灵活安全的权限和密码系统允许主机的基本验证。连接到服务器时,所有的密码传输均采用加密形式,从而保证了密码的安全。
  6. 成本低:MySQL数据库是一种完全免费的产品,用户可以直接从网上下载。
  7. 支持各种开发语言:MySQL为各种流行的程序设计语言提供支持,为他们提供了很多的API函数。
  8. 数据库存储容量大:MySQL数据库的最大有效容量通常是由操作系统对文件大小的限制决定的,而不是由MySQL内部限制决定的。InnDB存储引擎将InnDB表保存在一个表空间内,该表空间可由数个文件创建,表空间的最大容量为64TB,可以轻松处理拥有上万条记录的大型数据库。
  9. 支持强大的内置函数:PHP中提供了大量内置函数,几乎涵盖了Web应用开发中的所有功能。它内置了数据连接、文件上传等功能,MySQL支持大量的扩展库,如MySQLi等,为快速开发Web应用提供方便。

3、事务

  事务指的是一组命令操作,在执行的过程中,要么全部成功,要么全部失败。
  由引擎层支持事务,MyISAM就不支持事务,而InnoDB是支持事务的。

3.1 事务的四大特性 – ACID

 事务具有以下四大特性(ACID):

  1. 原子性(Atomicity):
      指事务不可分割,要么全部成功,要么全部失败,不可能存在部分成功或部分失败的情况。如果执行某一条语句失败后,将会触发之前所有执行过的语句的回滚,因此靠的是undo log。
  2. 一致性(Consistency):
      在事务执行前后,数据的完整性没有遭到破坏。一致性是mysql追求的最终目标,需要数据库层面与应用层面同时来维护。需要先满足原子性、隔离性与持久性,同时也需要应用层面做保障,即在应用层面对数据进行检验。
  3. 隔离性(Isolation):
      事务之间是隔离的,并发执行的事务之间不存在互相影响,mysql通过锁以及MVCC来保证隔离性。
  4. 持久性(Durability):
      事务一旦提交,那么对数据的操作就是永久性的,即使接下来数据库宕机也不会有影响。mysql是通过redo log来实现宕机恢复的,而binlog主要是用来误删恢复与主从复制的。

3.2 并发事务问题

并发事务问题就是多个事务同时执行的时候出现的问题

  当事务存在并发时,就会产生以下问题:

  1. 脏读:即读取到别的事务未提交的数据。
      例如:A事务读取B事务尚未提交的数据,此时如果B事务发生错误并执行回滚操作,那么A事务读取到的数据就是脏数据。这种情况常发生于转账与取款操作中。
  2. 不可重复读:即某个事务前后多次读取,数据内容不一致。
      例如:事务A在执行读取操作,由整个事务A比较大,前后读取同一条数据需要经历很长的时间 。而在事务A第一次读取数据,比如此时读取了小明的年龄为20岁,事务B执行更改操作,将小明的年龄更改为30岁,此时事务A第二次读取到小明的年龄时,发现其年龄是30岁,和之前的数据不一样了,也就是数据不重复了,系统不可以读取到重复的数据,成为不可重复读。
  3. 幻读:即某个事务前后多次读取,读到的数据总量不一致。
      例如:事务A在执行读取操作,需要两次统计数据的总量,前一次查询数据总量后,此时事务B执行了新增数据的操作并提交后,这个时候事务A读取的数据总量和之前统计的不一样,就像产生了幻觉一样,平白无故的多了几条数据,称为幻读。

3.3 事务的四大隔离级别

事务隔离级别就是多个事务执行时,互不影响的程度,事务隔离级别不同,出现的事务并发问题就不一样。

  事务隔离级别,就是在不同程度上解决上述脏读、不可重复读、幻读的问题。有四种隔离级别,分别是

  1. 读未提交(Read Uncommitted):
      在这种隔离级别下,所有事务能够读取其他事务未提交的数据。读取其他事务未提交的数据,会造成脏读。因此在该种隔离级别下,不能解决脏读、不可重复读和幻读。读未提交可能会产生脏读的现象,那么怎么解决脏读呢?那就是使用读已提交。
  2. 读已提交(Read Committed):
      在这种隔离级别下,所有事务只能读取其他事务已经提交的内容。能够彻底解决脏读的现象。但在这种隔离级别下,会出现一个事务的前后多次的查询中却返回了不同内容的数据的现象,也就是出现了不可重复读。
      这是大多数数据库系统默认的隔离级别,例如Oracle和SQL Server,但mysql不是。已提交可能会产生不可重复读的现象,我们可以使用可重复读。
  3. 可重复读(Repeatable Read):
      在这种隔离级别下,所有事务前后多次的读取到的数据内容是不变的。也就是某个事务在执行的过程中,不允许其他事务进行update操作,但允许其他事务进行add操作,造成某个事务前后多次读取到的数据总量不一致的现象,从而产生幻读。
      这才是mysql的默认事务隔离级别可重复读依然会产生幻读的现象,此时我们可以使用串行化来解决。
  4. 串行化(Serializable):
      在这种隔离级别下,所有的事务顺序执行,所以他们之间不存在冲突,从而能有效地解决脏读、不可重复读和幻读的现象。但是安全和效率不能兼得,串行化会大大降低数据库的性能,一般不使用这种级别。
      下面用一张表格来表示他们能够解决的问题,x代表未解决,√代表能够解决。
    2

注意:隔离级别越高,数据越安全,但是性能越低,在开发时应根据实际情况选择合适的隔离级别。

当然,以上所说的隔离级别及当前级别存在的问题只是一种规范,不同的数据库厂商可以有不同的实现。
例如在mysql的可重复读的级别上,使用临键锁的方式就已经解决了幻读的问题。

3.4 事务隔离级别操作sql

  1. 查看事务隔离级别:
SELECT @@TRANSACTION_ISOLATION;

默认级别为Repeatable read。

  1. 设置事务隔离级别:
SET [SESSION|GLOBAL] TRANSACTION ISOLATION LEVEL 隔离级别;

SESSION表示当前设置的隔离级别只对当前会话有效,即当前建立的数据库连接。GLOBAL表示全局有效。

3.5 事务原理 – LBCC MVCC

  mysql为了实现以上隔离级别,提出了LBCC(Lock-Based Concurrent Control,基于锁的并发控制)与MVCC(Multi-Version Concurrent Control,基于多版本的并发控制)。
  在LBCC中,读写冲突,会使用诸如记录锁、间隙锁与临键锁等锁来实现数据的并发安全,因此读写性能不高。

关于锁的分类,可以参考:谈谈锁的类型

  在MVCC中,读写不冲突,记录每一行的多个版本,来避免在多个事务之间的竞争。以空间换时间的思路,极大地提高了读写性能。
  MVCC主要靠undo log版本链与ReadView来实现。
  对于MVCC,简单来讲,就是mysql保存了一行数据在多个时间点的快照,是一种使用空间换取时间的策略,能做到读(快照读,可以理解就是普通的select语句)写不加锁。你可以暂时理解为,每一份快照包含了一行undo log日志,各个版本的快照。

3.4.1 行的隐藏列

  在数据库中的每一行上,除了存放真实的数据以外,还存在着3个隐藏列:row_id、trx_id与roll_pointer。

  1. row_id,行号
      如果当前表有整数类型的主键,则row_id就是主键的值。
      如果没有整数类型的主键,则mysql会按照字段顺序选择一个非空的整数类型的唯一索引作为row_id。
      如果mysql没有找到,则会自动生成一个自动增长的整数作为row_id。
      那row_id和今天的MVCC有什么关系呢?只能说毫无关系。
  2. trx_id,事务号
      当一个事务开始执前,mysql会为这个事务分配一个全局自增的事务id。
      之后该事务对当前行进行的增、删、改操作时,都会将自己的事务id记录到trx_id中。
  3. roll_pointer,回滚指针
      事务对当前行进行改动时,会将旧数据写入进undo log中,再将新数据写入当前行,且当前行的roll_pointer指向刚才那个undo log,因此可以通过roll_pointer找到该行的前一个版本。
      当一直有事务对该行改动时,就会一直生成undo log,因此roll_pointer可以将这些不同版本的undo log串联起来,形成undo log版本链。

3.4.2 ReadView

  首先需要理解一下快照读与当前读

  1. 快照读:
      简单的select查询,即不包括 select … lock in share mode, select … for update,可能会读到数据的历史版本。
  2. 当前读:
      以下语句都是当前读,总是读取最新版本,会对读取的最新版本加锁。
select ... lock in share mode
select ... for update
insert
update
delete

  在事务执行每一个快照读或事务初次执行快照读时,会生成一致性视图,即ReadView。
  ReadView的作用是,判断undo log版本链中的哪些数据对当前事务可见。

3.4.3 MVCC在四种隔离级别下的区别

4

所以,MVCC只在RC与RR级别下工作,区别在于生成ReadView的频率不同。

3.5 undo log、binlog、redo log

4

详情参考文章:数据库日志:binlog、redo log、undo log详解

3.6 事务提交过程

  1. 事务执行先记录 undo/redo log,确保日志刷到磁盘上持久存储。更新数据记录,缓存操作并异步刷盘。 如果开启了 binlog,将事务日志持久化到 binlog。
  2. 提交事务,在 redo log 中写入 commit 记录。在 mysql 执行事务过程中如果因故障中断,可以通过 redo log 来重做事务或通过 undo log 来回滚,确保了数据的一致性。只要 binlog 没写成功,整个事务是需要回滚的,而 binlog 写成功后即使 Mysql Crash 了都可以恢复事务并完成提交。
      MySQL是通过WAL方式,来保证数据库事务的一致性和持久性,即ACID特性中的C(consistent)和D(durability)。
      WAL(Write-Ahead Logging)是一种实现事务日志的标准方法,具体而言就是:
    1、修改记录前,一定要先写日志;
    2、 事务提交过程中,一定要保证日志先落盘,才能算事务提交完成。
      通过WAL方式,在保证事务特性的情况下,可以提高数据库的性能。从上述流程可以看出,提交过程中,主要做了4件事情:

1、清理undo段信息,对于innodb存储引擎的更新操作来说,undo段需要purge,这里的purge主要职能是,真正删除物理记录。在执行delete或update操作时,实际旧记录没有真正删除,只是在记录上打了一个标记,而是在事务提交后,purge线程真正删除,释放物理页空间。因此,提交过程中会将undo信息加入purge列表,供purge线程处理。
2、释放锁资源,mysql通过锁互斥机制保证不同事务不同时操作一条记录,事务执行后才会真正释放所有锁资源,并唤醒等待其锁资源的其他事务;
3、刷redo日志,前面我们说到,mysql实现事务一致性和持久性的机制。通过redo日志落盘操作,保证了即使修改的数据页没有即使更新到磁盘,只要日志是完成了,就能保证数据库的完整性和一致性;
4、清理保存点列表,每个语句实际都会有一个savepoint(保存点),保存点作用是为了可以回滚到事务的任何一个语句执行前的状态,由于事务都已经提交了,所以保存点列表可以被清理了。

3.7 事务的操作sql📌

  1. 查看事务提交方式:SELECT @@autocommit;
    默认值为1,表示执行完SQL语句后自动提交,若在中间发生了错误,则会提交错误之前的所有SQL
  2. 设置事务提交方式:SET @@autocommit = 0;
    @@autocommit值为0表示手动提交事务。
  3. 提交事务:COMMIT;
    在开启事务的SQL语句执行后,手动COMMIT提交事务。注意,一旦COMMIT后就不能回滚事务,这也对应了事务特性的最后一点----持久性
  4. 回滚事务:ROLLBACK;
    在事务执行完毕,没有提交的时候,可以使用ROLLBACK进行回滚事务,撤销对数据的操作。
  5. 开启事务:START TRANSACTION 或 BEGIN
    开启事务后,后面对数据库的修改操作就需要手动提交(COMMIT)和回滚(ROLLBACK)。

3.8 MySQL中是如何实现事务提交和回滚的?

  为了保证数据的持久性,数据库在执行SQL操作数据之前会先记录redo log和undo log
 redo log是重做日志,通常是物理日志,记录的是物理数据页的修改,它用来恢复提交后的物理数据页
  undo log是回滚日志,用来回滚行记录到某个版本,undo log一般是逻辑日志,根据行的数据变化进行记录
 redo/undo log都是写先写到日志缓冲区,再通过缓冲区写到磁盘日志文件中进行持久化保存
 undo日志还有一个用途就是用来控制数据的多版本(MVCC)

简单理解就是:
redo log是用来恢复数据的,用于保障已提交事务的持久性
undo log是用来回滚事务的,用于保障未提交事务的原子性

4、数据库主从读写

4.1 数据库主从复制原理

参考链接:数据库的主从复制原理(超级详细)

4.2 数据库主从读写延迟解决方案

参考链接:数据库主从读写延迟解决方案

5、锁

关于锁的分类,可以参考:谈谈锁的类型

6、主键、外键

6.1 主键

  primary key用来唯一的约束字段里面的数据,不能重复,不能为空,一张表中最多只能有一个主键,而且主键所在的列通常是整数类型。

注意:主键所在的列不能重复,不能为空。

6.1.1 主键sql

  1. 主键创建
     在创建表的时候,在字段之后,使用primary key(主键字段列表)来创建主键,如果有多个字段作为主键,可以使用复合主键。
  2. 追加创建主键
     格式为:alter table 表名 add primary key(字段列表)
  3. 删除主键
    格式为:alter table 表名 drop primary key;

6.1.2 主键自增设置

  在数据库应用中,经常希望在每次插入新纪录时,系统自动生成字段的主键值。可以通过为表主键添加​​AUTO_INCREMENT​​关键字来实现。
   默认情况下,在MYSQL中​​自增id​​​的初始值是1,每新增一条记录,字段值自动加1.
  一个表只能有一个字段属用​​AUTO_INCREMENT​​​约束,且该字段必须为主键的一部分。​​AUTO_INCREMENT​​​约束的字段可以是任何整数类型(​​TINTINT、SMALLINT、INT、BIGINT等​​)
  添加自增的格式为:字段名 数据类型 AUTO_INCREMENT
4

6.1.3 自增主键与uuid区别

5

6.1.4 主键与索引的区别

6

6.2 外键

参考链接:MySQL中的外键(foreign key)

7、索引

7.1 索引机制

参考链接:MYSQL 索引机制-B+TREE

7.2 聚集索引、非聚集索引、覆盖索引、联合索引 辅助索引

1、参考链接:聚集索引、非聚集索引、覆盖索引的总结
2、参考链接:mysql聚集索引、辅助索引、覆盖索引、联合索引的使用
3、参考链接:MySQL索引之联合索引

7.3 前缀索引 全部索引

参考链接:MySQL字符串前缀索引详解

8、存储引擎

参考链接:一文带你看懂 MySQL 存储引擎

9、mysql的连接类型 - 7种

参考链接:Mysql中的七种常用查询连接详解

10、分库 分表 分页

参考链接:MySQL分页方法

11、聚合函数

参考链接:MySQL聚合函数

12、查询

12.1 联表查询

参考链接:MySQL联表查询

12.2 左连接 右连接

**1. 左连接:**以左表为参照,显示所有数据,右表中没有则以null显示
**2. 右连接:**以右表为参照显示数据,左表中没有则以null显示

左连接where只影向右表,右连接where只影响左表。

参考链接:mysql数据库的左连接,右连接,内链接有何区别

12.3 where having

参考链接:Mysql中where和having用法及区别

12.4 drop delete truncate

参考链接:MySQL删除表操作(delete、truncate、drop的区别)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/362745.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文教你玩转 Apache Doris 分区分桶新功能|新版本揭秘

数据分片(Sharding)是分布式数据库分而治之 (Divide And Conquer) 这一设计思想的体现。过去的单机数据库在大数据量下往往面临存储和 IO 的限制,而分布式数据库则通过数据划分的规则,将数据打散分布至不同的机器或节点上&#xf…

【7/101】101次面试之测试技术面试题

01、什么是兼容性测试?兼容性测试侧重哪些方面?答:兼容性测试是一种软件测试类型,它的主要目的是确保一个应用程序在不同的操作系统、不同的浏览器、不同的设备、不同的网络环境等各种环境下能够正常运行,并且不会产生…

Vue使用ElementUI对表单元素进行自定义校验

前言 在使用ElementUI的表单元素时候,除了做一些简单的非空处理校验,在一些特殊的场合,还需要我们做一些自定义校验。 其实ElementUI不仅提供了基本的非空校验,也对我们提供了自定义检验。 在使用的时候还是遇到了一些坑&#…

华为OD机试 - 特异性双端队列(C++) | 附带编码思路 【2023】

刷算法题之前必看 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:https://blog.csdn.net/hihell/category_12199283.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 华为OD机试题…

SAP中BOM基础数量及组件数量单位比例关系的注意事项

下图是BOM展开功能CS11在正式系统和测试系统的截图。从截图中的对比不难看出,最下级的原材料A20981-110在组件的数量为1,实际按BOM中的设定比例折算,应该是1个成品,对应需要0.125件原材料。但这里显示的并不是0.125PC,…

Ubuntu22.04 安装Mongodb6.X

Ubuntu22.04 安装Mongodb6.X 1、Mongodb简介 1.1 什么是MongoDB? Mongodb是一个跨平台的面向文档的NoSQL数据库。它使用带有可选模式的类似JSON的BSON来存储数据。应用程序可以以JSON格式检索信息。 1.2 MongoDB的优点 可以快速开发web型应用,因为灵活,…

sympy高斯光束模型

文章目录Gauss模型sympy封装实战sympy.phisics.optics.gaussopt集成了高斯光学中的常见对象,包括光线和光学元件等,有了这些东西,就可以制作一个光学仿真系统。Gauss模型 高斯光束的基本模型为 E(r,z)E0ω0ω(z)exp⁡[−r2ω2(z)]exp⁡[−ik…

自动增长配置不合理导致的性能抖动

背景客户收到了SQL专家云告警邮件,在凌晨2点到3点之间带有资源等待的会话数暴增,请我们协助分析。现象登录SQL专家云,进入活动会话的趋势分析页面,下钻到2点钟一个小时内的数据,看到每分钟的等待数都在100左右&#xf…

“源启”新程,共筑数字新基石 2023年中电金信跑出转型发展加速度

核心提示 预计到2025年,我国数字经济规模将超60万亿元,我国数字经济投入产出效率将提升至约3.5。 近日,中国信通院数字经济与工业经济领域主席孙克在相关活动中表示,预计到2025年,我国数字经济规模将超60万亿元&#…

2023年华为HCIE-Dacom认证题库(H12-891)

1、如图所示是某位网络工程师在排查OSPF故障时的输出信息。据此判断,以下哪种原因可能导致邻接关系无法正常建立。 Hello报文发送时间不一致认证密码不一致接口的IP地址掩码不一致区域类型不一致 正确答案:C 2、如图所示,路由器的所有接口开启…

极市打榜|未戴鸭舌帽识别算法上线,单人独享1000元合作金

极市打榜 算法打榜是极市平台推出的一种算法项目合作模式,至今已上线 100 产业端落地算法项目,已对接智慧城市、智慧工地、明厨亮灶等多个行业真实需求,算法方向涵盖目标检测、行为识别、图像分割、视频理解、目标跟踪、OCR等。 开发者报名…

学习系统编程No.4【环境变量】

引言: 北京时间:2023/2/20/22:15,昨天晚上,看了一晚上的cs:go,主要原因是因为我的好舍友,叫我开箱子,然后就不可言语,看了一晚上的开箱子和精彩剪辑,不过这个…

携手同心,三阳开泰:读懂2023华为中国政企合作伙伴政策

导语: 《周易》中,把连在一起的爻称为阳爻,乾下坤上,三个阳爻组合在一起,就是泰卦。这也就是“三阳开泰”这个成语的由来,其中“泰”字,代表着冬去春来,有吉亨之象,既象征…

烧录OpenStLinux到Stm32mp157上

STM32CubeProgrammer是ST官方专门为Corex-A stm32mp157这样高端系列开发的烧录工具你需要到ST官方网站上下载STM32CubeProgrammerST官方下载地址:https://www.st.com/zh/development-tools/stm32cubeprog.html注意下载的系统版本,下载完成之后默认安装就…

必备 | Elasticsearch 8.X 最少必要知识视频(全)

1、你使用 Elasticsearch 8.X 了吗?Elastic Stack 数据平台由Logstash、Beats、ElasticSearch和Kibana四大核心产品组成,在数据摄取、存储计算分析及数据可视化方面有着无可比拟的优势。在存储、计算和分析方面,ElasticSearch允许执行和合并多…

40、基于51单片机收音机 LCD1602显示系统设计

摘要 本文在具体分析了STC89C52单片机的技术特点与数字FM收音机的基础上,提出了采用单片机控制收音机实现数字调频的方法,并给出了具体的软硬件设计。该系统利主要由STC89C52单片机、液晶显示器、按键、调频收音模块TEA5767、功放LM386组成。实际运行时…

「TCG 规范解读」第12章 TPM工作组 TCG身份验证研讨

可信计算组织(Ttrusted Computing Group,TCG)是一个非盈利的工业标准组织,它的宗旨是加强在相异计算机平台上的计算环境的安全性。TCG于2003年春成立,并采纳了由可信计算平台联盟(the Trusted Computing Platform Alli…

XC7K70T-1FBG676C应用XC7K70T-L2FBG484E Kintex-7, FPGA 规格参数

概述Kintex-7 FPGA为快速增长应用和无线通信提供最优性价比和低功耗。Kintex-7 FPGA允许设计人员构建卓越带宽和12位数字可编程模拟,同时满足成本和功耗要求。144GMACS数字信号处理器 (DSP) 的独特功耗使得多功能Kintex-7器件成为便携式超声波设备和下一代通信等应用…

5. 阿里巴巴程序员开发手册黄山版

学习的动力不止于此: 最近阅读了刘典武大神推荐的阿里巴巴Java开发手册泰山版。里面的很多规范不仅仅适用于Java。非常值得我们一起学习。 于是,我找了最新的版本–黄山版。 正所谓,五岳归来不看山,黄山归来不看岳。最新版本—…

06_MySQL多表查询

多表查询,也称为关联查询,指两个或更多个表一起完成查询操作。前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也…