Mysql数据库初体验及管理

news2024/11/26 16:50:01

Mysql数据库初体验及管理

  • 一、数据库相关概念
    • 1.数据库的组成
    • 2.数据库管理系统
    • 3.数据库系统
  • 二、数据库的发展
    • 1.第一代数据库
    • 2.第二代数据库
    • 3.第三代数据库
  • 三、主流的数据库介绍
  • 四、关系型数据库
    • 1、介绍
    • 2、实体
    • 3、关系
    • 4、属性
    • 非关系型数据库
  • 五、Mysql数据库管理
    • 1、库和表
    • 2、常用的数据类型
    • 3、char和varchar区别
  • 六、SQL语句
    • 1. SQL语句分类
  • 七、数据库实列
    • 1、查看服务里面的所有数据库
    • 2、删除库
    • 3、添加库
    • 4、在库中创建一个表
    • 5、查看表的结构
    • 6、向表里面添加字段和数据;查看表里面的数据
    • 7、删除表里面字段(删除id为2的字段)
    • 8、查看表中前三行的内容
    • 9、修改、更新表中的数据
    • 10、修改库中的表名
    • 11、扩展表的结构
    • 12、替换表中的字段
    • 13、删除表中的字段
    • 14、删除表中的所有内容
  • 八、数据表高级操作
    • 1、克隆表,将数据表的记录生成到新的表中
    • 2、清空表,删除表内的所有数据
    • 3、创建临时表
    • 4、创建外键约束,保证数据的完整性和一致性
      • - 创建主表 profession
      • - 创建从表 student
      • - 为主表 profession 添加一个主键约束。主键名建议以“PK_”开头。
      • - 为从表 student 表添加外键,并将 student 表的 proid 字段和 profession 表的 pid 字段建立外键关联。外键名建议以“FK_”开头。
      • -插入新的数据记录时,要先插入主表里面的数据再插入从表里面的数据
      • -删数数据记录时,要先删除从表的数据再删除主表数据,也就是说删除主键表的记录时必须先删除其他与之关联的表中的记录。
      • -查看和删除外键约束
  • 九、MySQL中6种常见的约束
  • 十、数据库用户管理
    • 1、新建用户
    • 2、查看用户信息
    • 3、重命名用户
    • 4、删除用户
    • 5、修改当前登录用户密码
    • 6、修改其他用户密码
    • 7、忘记 root 密码的解决办法
  • 十一、数据库用户授权
    • 1、授予权限
      • 允许用户 lisi 在所有终端远程连接 mysql ,并拥有所有权限。
    • 2、查看权限
    • 3、撤销权限

一、数据库相关概念

1.数据库的组成

  • 数据(data)

    • 描述事物的符号记录
    • 包括数字,文字、图形、图像、声音、档案记录等
    • 以“记录”形式按统一格式进行存储
    • 将不同的记录组织在一起
    • 用来存储具体数据
    • 记录:行
    • 字段(属性):列
    • 以行+列的形式就组成了表(数据存储在表中)
  • 数据库

    • 表的集合,是存储数据的仓库
    • 以一定的组织方式存储的相互有关的数据集合
    • 多张表存储在数据库中
    • “关系型数据库”表与表字段/属性的关联

在这里插入图片描述

2.数据库管理系统

  • 数据库管理系统(DBMS)是实现对数据库资源有效组织、管理和存取的系统软件。数据库的建立和维护功能、数据定义功能、数据操纵功能、数据库的运行管理功能通信功能

3.数据库系统

  • 数据库系统是一个人机系统由硬件、OS、数据库、DBMS、应用软件和数据库用户组成。
  • 用户可以通过DBMS或应用程序操作数据库

在这里插入图片描述

二、数据库的发展

1.第一代数据库

  • 自20世纪60年代起,第一代数据库系统问世 是层次模型与网状模型的数据库系统为统一管理和共享数据提供了有力的支撑

2.第二代数据库

  • 20世纪70年代初,第二代数据库——关系数据库开始出现

  • 20世纪80年代初,IBM公司的关系数据库系统DB2问世,开始逐步取代层次与网状模型的数据库,成为行业主流到目前为止,关系数据库系统仍占领数据库应用的主要地位

3.第三代数据库

  • 自20世纪80年代开始,适应不同领域的新型数据库系统不断涌现面向对象的数据库系统,实用性强、适应面广

  • 20世纪90年代后期,形成了多种数据库系统共同支撑应用的局面

  • 一些新的元素被添加进主流数据库系统中。例如,Oracle支持的 “关系-对象” 数据库模型

三、主流的数据库介绍

数据库说明
SQL Server(微软公司产品)面向Windows操作系统简单、易用
Oracle (甲骨文公司产品)面向所有主流平台安全、完善,操作复杂
DB2(IBM公司产品)面向所有主流平台大型、安全、完善
MySQL (甲骨文公司收购)免费、开源、体积小

四、关系型数据库

1、介绍

  • 关系数据库系统是基于关系模型的数据库系统
  • 关系模型的数据结构使用简单易懂的二维数据表
    • 每一行称为一条记录,用来描述一个对象的信息
    • 每一列称为一个字段,用来描述对象的一个属性
  • 关系模型可用简单的"实体-关系-属性"来表示

2、实体

  • 也称为实例,对应现实世界中可区别与其他对象的“事件”或“事物”
    • 如银行客户、银行账户等

3、关系

  • 实体集之间的对应关系称为联系,也称为关系
    • 如银行客户和银行账户之间存在“储蓄”的关系

4、属性

  • 实体所具有的某一特性,一个实体可以有多个属性
    • 如“银行客户”实体集中的每个实体均具有姓名、住址、电话等属性

非关系型数据库

  • 非关系数据库也称为NoSQL (Not Only SQL)

  • 存储数据不以关系模型为依据,不需要固定的表格式

  • 非关系型数据库的优点

    • 数据库可高并发读写
    • 对海量数据高效率存储与访问
    • 数据库具有高扩展性与高可用性
  • 常用的非关系数据库:Redis、mongoDB等

关系型数据库适用于对关系很明确的数据建立模型、定义、存储数据
非关系型数据库存储海量数据,给与"大数据“进行分析,筛选出有价值的部分

五、Mysql数据库管理

  • MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 应用软件之一。在本篇中,会让大家快速掌握 MySQL 的基本操作,并轻松使用 MySQL 数据库

1、库和表

行(记录):用来描述一个对象的信息
列(字段):用来描述对象的一个属性

2、常用的数据类型

数据类型取值范围
int(整型)无符号[0,232-1]有符号[-232,232-1]
float(单精度浮点)4字节32位
double(双精度浮点 )8字节64位
char(固定长度的字符类型用户指定范围
varchar(可变长度的字符类型)用户指定范围
text(文本)文本字符串
image(图片)根据图片格式类型而定
decimal(5,2)最大五位数,固定两位小数

3、char和varchar区别

  • CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换

下表显示了将各种字符串值保存到CHAR(4)和VARCHAR(4)列后的结果,说明了CHAR和VARCHAR之间的差别:

CHAR(4)存储需求VARCHAR(4)存储需求
‘’’ ’4个字节‘’1个字节
‘ab’'ab ’4个字节‘ab’3个字节
‘abcd’'ab ’4个字节‘abcd’5个字节
‘abcdefgh’‘abcd’4个字节‘abcd’5个字节

1)字节大小

  • char无论是否有值,都会占用固定长度的字节大小,保存在磁盘上都是4字节
  • varchar在保存字符时,默认会加一个隐藏的结束符,因此结束符会多算一个字节

2)优劣比较

  • varchar比char节省磁盘空间
  • 但varchar类型的数据读写速度比char慢,因为char是连续的磁盘空间,而varchar在多次增删改查中会产生一些磁盘空间碎片

六、SQL语句

SQL语句用于维护管理数据库,包括数据查询、数据更新、访问控制、对象管理等功能

1. SQL语句分类

语句含义
DDL数据定义语言,用于创建数据库对象,如库、表、索引等
DML数据操纵语言,用于对表中的数据进行管理
DQL数据查询语言,用于从数据表中查找符合条件的数据记录
DCL数据控制语言,用于设置或者更改数据库用户或角色权限

七、数据库实列

1、查看服务里面的所有数据库

mysql>show databases;

在这里插入图片描述

2、删除库

mysql>drop database 库名;

在这里插入图片描述

3、添加库

mysql>create database 库名;

在这里插入图片描述

4、在库中创建一个表

mysql>use 库名 #切到库中
mysql>create table 表名(id int,name char(4),sex char(2),primary key(id))  #创建一个表,定义里面的属性,定义一个主键

在这里插入图片描述

5、查看表的结构

mysql> desc rushb; 查看表的结构

在这里插入图片描述

6、向表里面添加字段和数据;查看表里面的数据

mysql> insert into 表名 (id,name,sex) values(2,'王','男');

mysql> select * from 表名 #查看数据

在这里插入图片描述

7、删除表里面字段(删除id为2的字段)

mysql> delete from 表名 where id=2;

mysql> select * from 表名;

在这里插入图片描述

8、查看表中前三行的内容

mysql>selete *  from 表名 limit 3; #查看表中前三行的内容

mysql>selete * from 表名 limit 1,3; #查看表中从第一行开始,连续后三行的内容(不包括第一行)

在这里插入图片描述

9、修改、更新表中的数据

mysql> update 表名 set 字段='内容'

在这里插入图片描述

mysql> update 表名 set sex='男' where id>=3; #修改表中id>=3的数据的sex字段全部修改成'男'

在这里插入图片描述

10、修改库中的表名

mysql> alter table 旧表名 rename 新表名;

在这里插入图片描述

11、扩展表的结构

mysql> alter table 表名 add 新字段 数据类型 default'默认值';
desc 表名; 查看表的结构

在这里插入图片描述

查看表里面的内容就能看到设置的字段

mysql> select *from 表名;

在这里插入图片描述

12、替换表中的字段

mysql>alter table 表名 change 旧字段 新字段 数据类型 unique key; #设置表中的唯一键为username

在这里插入图片描述

13、删除表中的字段

mysql>alter table 表名 drop 字段;

在这里插入图片描述

14、删除表中的所有内容

mysql> delete from 表名;

在这里插入图片描述

八、数据表高级操作

1、克隆表,将数据表的记录生成到新的表中

方法一:

mysql>create table 新表 like 存在的表名;				  #通过 like 方法,复制表名结构生成 新表

mysql>insert into 新表 select * from 存在的表名;    #此方法能保证 新表的表结构、表数据 跟旧表都是一致的

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

方法二:

mysql>create table 新表 (SELECT * from 存在的表名);

#此方法创建的新表的表数据和旧表是一样的,但可能会出现新表的表结构和旧表的不一致
mysql>show create table test02;				#获取数据表的表结构、索引等信息
mysql>select * from test02;

在这里插入图片描述

2、清空表,删除表内的所有数据

在这里插入图片描述

方法一:

mysql>delete from 表名;  
#delete清空表后,返回的结果内有删除的记录条目;delete工作时是一行一行的删除记录数据的;如果表中有自增长字段,使用delete from 删除所有记录后,再次新添加的记录会从原来最大的记录 ID 后面继续自增写入记录。

在这里插入图片描述

方法二:

mysql>truncate table 表名;
#trunxate 清空表后,没有返回被删除的条目;trunxate 工作时是将表结构按原样重新建立,因此在速度上trunxate 会比 delete 清空表快;使用 truncate table  清空表内数据后,ID 会从 1 开始重新记录。

在这里插入图片描述

3、创建临时表

mysql>create temporary table 表名 (字段1 数据类型,字段2 数据类型[,...][,primary key (主键名)]);

临时表创建成功之后,使用show tables命令是看不到创建的临时表的,临时表会在连接退出后被销毁。 如果在退出连接之前,也可以可执行增删改查等操作,比如使用 drop table语句手动直接删除临时表。

在这里插入图片描述

在这里插入图片描述

4、创建外键约束,保证数据的完整性和一致性

  • 外键的定义:如果同一个属性字段X在表一中是主键,而在表二中不是主键,则字段X称为表二的外键。
  • 主键表和外键表的理解
    • 以公共关键字作主键的表为主键表(父表、主表)
    • 以公共关键字作外键的表为外键表(从表、外表)

注意:与外键关联的主表的字段必须设置为主键。要求从表不能是临时表,主从表的字段具备相同的数据类型、字符长度和约束。

- 创建主表 profession

mysql>create table profession (pid int(4),proname varchar(50));

在这里插入图片描述

- 创建从表 student

mysql>create table student (id int(4) primary key auto_increment,name varchar(10),age int(3),proid int(4));

在这里插入图片描述

- 为主表 profession 添加一个主键约束。主键名建议以“PK_”开头。

mysql>alter table profession add constraint PK_pid primary key (pid);

在这里插入图片描述

- 为从表 student 表添加外键,并将 student 表的 proid 字段和 profession 表的 pid 字段建立外键关联。外键名建议以“FK_”开头。

mysql>alter table student add constraint FK_pro foreign key (proid) references profession (pid);

mysql>desc student;

在这里插入图片描述

-插入新的数据记录时,要先插入主表里面的数据再插入从表里面的数据

mysql>insert into profession values(1,'云计算');
mysql>insert into profession values(2,'大数据');
mysql>insert into student values(1,'懒羊羊',18,1);
mysql>insert into student values(2,'喜羊羊',19,1);
mysql>insert into student values(3,'灰太狼',20,2);

在这里插入图片描述

-删数数据记录时,要先删除从表的数据再删除主表数据,也就是说删除主键表的记录时必须先删除其他与之关联的表中的记录。

mysql>delete from student where proid=1;
mysql>delete from profession where pid=1;

在这里插入图片描述

-查看和删除外键约束

mysql>show create table student;
mysql>desc student;
mysql>alter table student drop foreign key FK_pro;
mysql>alter table student drop key FK_pro;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

九、MySQL中6种常见的约束

约束作用
主键约束(primary key)字段的值不能重复,不能为null(空),一个表只能有一个主键
外键约束(foreign key)保证相关联表数据的完整性和一致性
非空约束(not null)字段的值不能为null
唯一性约束(unique key)字段的值不能重复,能为null,一个表可有多个唯一键
默认值约束(default)字段的值如果没有设置则使用默认值自动填充
自增约束(auto_increment)字段的值如果没有设置,默认会从1开始递增1,要求自增字段必须为主键字段

十、数据库用户管理

1、新建用户

mysql>create user '用户名'@'来源地址' [identified by [password]] '密码'];


'用户名':指定将创建的用户名
'来源地址':指定新创建的用户可在哪些主机上登录,可使用IP地址、网段、主机名的形式,本地用户可用localhost,允许任意主机登录可用通配符%
'密码':若使用明文密码,直接输入'密码',插入到数据库时由Mysql自动加密;
        若使用加密密码,需要先使用select password('密码'); 获取密文,再在语句中添加 pass '密文';
        若省略“identified by”部分,则用户的密码将为空(不建议使用)

2、查看用户信息

创建后的用户保存在 mysql 数据库的 user 表里

mysql>use mysql;
mysql>select User,authentication_string,Host from user;

在这里插入图片描述

查看当前登录用户

mysql>select user();

在这里插入图片描述

3、重命名用户

mysql>rename user '旧用户名'@'localhost' to'新用户名'@'localhost';

在这里插入图片描述

4、删除用户

mysql>drop user '用户'@'localhost';

在这里插入图片描述

5、修改当前登录用户密码

mysql>set password = password('abc123');

在这里插入图片描述

6、修改其他用户密码

mysql>set password for 'user1'@'localhost' = password('abc123');

在这里插入图片描述

7、忘记 root 密码的解决办法

1、修改 /etc/my.cnf 配置文件,不使用密码直接登录到 mysql

vim /etc/my.cnf
[mysqld]
skip-grant-tables					#添加,使登录mysql不使用授权表

systemctl restart mysqld


mysql								#直接登录

2、使用 update 修改 root 密码,刷新数据库

mysql>update user set authentication_string= password('abc123') where user='root';

mysql>flush privileges;
quit

mysql -u root -pabc123

注意:最后再把 /etc/my.cnf 配置文件里的 skip-grant-tables 删除,并重启 mysql 服务。

在这里插入图片描述

十一、数据库用户授权

1、授予权限

mysql>grant 权限列表 on 数据库名.表名 to '用户名'@'来源地址' [idebtified by '密码'];

#权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如“select,insert,update”。使用“all”表示所有权限,可授权执行任何操作。
#数据库名.表名:用于指定授权操作的数据库和表的名称,其中可以使用通配符“*”。例如,使用“kgc.*”表示授权操作的对象为 kgc数据库中的所有表。
#'用户名@来源地址':用于指定用户名称和允许访问的客户机地址,即谁能连接、能从哪里连接。来源地址可以是域名、IP地址,还可以使用“%”通配符,表示某个区域或网段内的所有地址,如“%.kgc.com”、“192.168.80.%”等。
#idebtified by:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“idebtified by”部分,则用户的密码将为空。

允许用户 lisi 在所有终端远程连接 mysql ,并拥有所有权限。

mysql>grant all [privileges] on*.* to 'lisi'@'%' idebtified by'123456';

mysql>flush privileges;
mysql>quit

mysql>mysql -u zhangsan -p123456
mysql>use kgc;
mysql>show tables;
mysql>select * from KY08;

2、查看权限

mysql>show grants for 用户名@来源地址;

在这里插入图片描述

3、撤销权限

mysql>revoke 权限列表 on 数据库名.表名 from 用户名@来源地址;

在这里插入图片描述

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

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

相关文章

Excel 2021入门指南:详细解读常用功能

软件安装:办公神器office2021安装教程,让你快速上手_正经人_____的博客-CSDN博客 一、 新建工作表 打开Excel 2021后,可以看到左上角的“文件”选项,在弹出的菜单中选择“新建”选项,然后可以选择使用空白工作表或者…

工具-自动获取/校对XpathHelper/XpathHelperPlus/XPathHelperWizard插件轻松配置xpath规则

目录 一、xpath插件功能对比1.1、应用的范围1.2、不依赖插件,依赖谷歌开发者工具1.3、XpathHelper/XpathHelperPlus/XPathHelperWizard插件功能特点 二、安装XpathHelper插件以及用法2.1、安装XpathHelperPlus插件2.2、XpathHelperPlus插件使用方法 三、安装XPathHe…

自然语言处理: 第二章Word2Vec

一. 理论基础 维度很高(与语料库有关),计算复杂稀疏性,浪费计算效率,只有一个元素是1 其他都是0缺乏语义信息,无法衡量语义相似度无法处理未知单词 而在One-Hot的基础上,Word2Vec 是一种分布式表达字/词的方式&#x…

Java|注解之定义注解

Java语言使用interface语法来定义注解(Annotation),它的格式如下: public interface Report {int type() default 211;String level() default "211";String value() default "211"; } 注解的参数类似无参数…

华为OD机试真题 JavaScript 实现【比赛评分】【2023 B卷 100分】,附详细解题思路

一、题目描述 一个有N个选手参加比赛&#xff0c;选手编号为1~N&#xff08;3<N<100&#xff09;&#xff0c;有M&#xff08;3<M<10&#xff09;个评委对选手进行打分。打分规则为每个评委对选手打分&#xff0c;最高分10分&#xff0c;最低分1分。 请计算得分最…

Android 音视频开发核心知识点笔记整合

很多开发者都知道Android音视频开发这个概念&#xff0c;音视频开发不仅需要掌握图像、音频、视频的基础知识&#xff0c;并且还需要掌握如何对它们进行采集、渲染、处理、传输等一系列的开发和应用&#xff0c;因此&#xff0c;音视频开发是一门涉及到很多内容的领域。 随着5G…

开战在即!与全球伙伴一起打造你的数据应用,TiDB Future App Hackathon 2023 来啦!

2023 TiDB Future App Hackathon 来啦&#xff01;本届 Hackathon 的主题为&#xff1a;Code, Innovate & Build Amazing Data Applications —— 释放你的创造力、构建突破性的应用、在全球范围内寻找你的队友、体验最新最 in 的 Serverless 技术&#xff0c;更有 总计 $3…

马原第一章复习1.

一.物质的存在方式 《德法年鉴》 完成从唯物到唯心 从革命主义等到共产主义的过度 为创立马克思理论提供了根本前提《德意志形态》 首次阐述了历史唯物主义的基本观点《共产党宣言》标志着马克思主义的公开问世 也是第一个无产阶级政党的党纲《资本论》阐述剩余价值学说 解释生…

【推荐】Oracle Live SQL——在线 Oracle SQL 测试工具

最近回答了几个 CSDN “学习”功能里“问答”区的一些专业相关问题&#xff0c;回答过程中采用严谨的方式&#xff0c;在 Oracle Live SQL 上进行验证测试。这个很好用的 Oracle APEX 应用我使用好几年了&#xff0c;虽然近年来已转行 MySQL 和国产数据库领域&#xff0c;但仍然…

链表与顺序表的区别以及扩展计算机硬件的存储体系

好久没有更新文章了&#xff0c;在忙学校的事情时我还是比较怀念大家一直以来对我的关注和鼓励&#xff0c;接下来我会继续更新数据结构相关的文章&#xff0c;也请大家多多支持&#xff0c;十分感谢。正文来了&#xff1a; 首先说明一点&#xff0c;我在举例和比较时所使用的是…

【2023,学点儿新Java-02】计算机硬件与软件 | CPU、内存、硬盘概览 | 科学使用键盘——“指法” | 软件——计算机的灵魂 | 人机交互方式

前情回顾&#xff1a; 【2023&#xff0c;学点儿新Java-01】从查看本机 jdk版本 开始 | Java基础全程脉络图、Java工程师全程技术路线、Java职业晋升路线图 我们见到的太阳 是八分钟前的太阳&#xff0c;见到的月亮 是一点三秒之前的月亮&#xff0c;见到一英里之外的建筑&…

【Docker 安装 Zipkin】—— 每天一点小知识

&#x1f4a7; D o c k e r 安装 Z i p k i n \color{#FF1493}{Docker 安装 Zipkin} Docker安装Zipkin&#x1f4a7; &#x1f337; 仰望天空&#xff0c;妳我亦是行人.✨ &#x1f984; 个人主页——微风撞见云的博客&#x1f390; &#x1f433; 《数据结构与算法》…

解决vue打包一次部署到不同的服务器的问题

1. 问题描述 在工作的时候&#xff0c;往往碰到同一套vue前端代码程序需要部署到很多的服务器上&#xff0c;每次更改完程序都需要打包部署到各个服务器上&#xff0c;因为每个服务器的访问地址和端口都不一样&#xff0c;如果用的若依自带的框架&#xff0c;需要每次都需要打…

Spring Security --- 自定义登录逻辑

目录 UserDetailsService详解 返回值 方法参数 异常 PasswordEncoder密码解析器详解 接口介绍 内置解析器介绍 BCryptPasswordEncoder简介 代码演示 自定义登录逻辑 编写配置类 自定义逻辑 UserDetailsService详解 当什么也没有配置的时候&#xff0c;账号和密码是…

Vue3:计算属性、监听器

computed 计算属性 计算属性是指 基于现有状态派生 (演变) 出新的状态&#xff0c;现有状态发生变化&#xff0c;派生状态重新计算。 computed 接收回调函数作为参数&#xff0c;基于回调函数中使用的响应式数据进行计算属性的创建&#xff0c;回调函数的返回值就是基于现有状态…

软件测试什么样的技术栈才能进入大厂

我们知道&#xff0c;能在一线大厂工作是大多数人的目标&#xff0c;不仅薪酬高&#xff0c;技能提升快&#xff0c;而且能得到公司影响力背书&#xff0c;将来就算跳槽也能带来光环加持。 最近疫情的影响&#xff0c;网上也爆出了一些裁员新闻&#xff0c;可以说这个疫情确实…

【深入浅出密码学】RSA

RSA密码体制 引言&#xff1a; RSA加密的本意并不是为了取代对称密码&#xff0c;而且它比诸如AES的密码要慢很多&#xff0c;因为RSA当中涉及许多数学计算&#xff0c;RSA通常和类似AES的对称密码一起使用&#xff0c;真正用来加密大量数据的是对称密码。而RSA主要保护对称密…

Linux0.11内核源码解析-block_dev.c

目录 block_dev.c 文件的作用 int block_write(int dev, long * pos, char * buf, int count) block_dev.c 文件的作用 block_dev.c 文件的作用 block_dev.c 文件就包含两个函数&#xff0c;分别是block_read和block_write函数&#xff0c;提供给read和write系统调用 块读写…

STM32开发踩坑——基于CubeMx+Gcc移植正点原子3.5‘TFTLCD(开发环境:正点F103精英版+3.5‘TFTLCD)

成立这个专栏的目的是&#xff0c;记录自己嵌入式开发遇到的问题&#xff0c;与成功的解决方法&#xff0c;方便自己回顾。 最近在学习王维波老师的《STM32Cube高效开发教程》&#xff0c;王老师移植的是普中科技的驱动&#xff0c;而我手动移植了一下正点原子的lcd驱动&#…

【Java高级语法】(三)泛型:关于泛型最全面的讲解来了~

Java高级语法详解之泛型 :one: 概念:two: 优势:three: 使用3.1 泛型类3.2 泛型接口3.3 泛型方法 :four: 通配符&#xff08;Wildcards&#xff09;4.1 无界通配符&#xff08;Unbounded Wildcard&#xff09;4.2 上限通配符&#xff08;Upper Bounded Wildcard&#xff09;4.3 …