MySQL数据库(详解)

news2024/11/29 12:43:18

目录

前言

一、数据库的基本概念

1.数据(Data)

2.表

3.数据库

4.数据库管理系统(DBMS)

5.数据库系统

二、数据库系统发展史

1.第一代数据库

2.第二代数据库

3.第三代数据库

三、当今主流数据库介绍

1.SQL Server (微软公司产品)

2.Oracle (甲骨文公司产品)

3.DB2 (IBM公司产品)

4.MySQL (甲骨文公司收购)

5.数据库类型

四、关系数据库(MySQL)

1.实体

2.属性

3.联系

4.关系数据库的存储结构

五、关系数据库应用

 六、非关系数据库(NoSQL)

七、MySQL数据库介绍

八、MySQL商业版与社区版

九、MySQL产品阵营

前言

数据库概述
前置:LAMP LNMP 

企业架构,服务定位示例
前言:
数据:图片、视频、关系、音频、字符、字符串等等。
数据的作用:持久化保存(磁盘)、高可靠(宕机不会丢失,安全性保障),高可用(HA冗余、备份),数据的快速提取( 目录、索引)。

一、数据库的基本概念

1.数据(Data)

(1)描述事物的符号记录。
(2)包括数字,文字、图形、图像、声音、档案记录等。
(3)以“记录”形式按统一的格式进行存储。

(4)使用一些介质进行存储,例如文字存在文档中。
(5)数据库可以完成数据持久化保存+快速提取。
(6)数据如何保存:最外层是mysql服务→mysql 数据库→数据表→记录为行,字段为列→数据保存在一行行记录中。
(7)对于存储在数据库中的数据进行管理、使用,需要通过编写一系列的规则→SQL语句( 命令行形式)。
(8)SQL语句按功能分类:增删改查。

2.表

(1)将不同的记录组织在一起。
(2)用来存储具体数据。

3.数据库

(1)表的集合,是存储数据的仓库。
(2)以一定的组织方式存储的相互有关的数据集合。

4.数据库管理系统(DBMS)

是实现对数据库资源有效组织、管理和存取的系统软件。

5.数据库系统

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

二、数据库系统发展史

1.第一代数据库

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

2.第二代数据库

(1)20世纪70年代初,第二代数据库一关系数据库开始出现。
(2)20世纪80年代初,IBM公司的关系数据库系统DB2问世,开始逐步取代层次与网状模型的数据库,成为行业主流。
(3)到目前为止,关系数据库系统仍占领数据库应用的主要地位。

3.第三代数据库

引申:SQL+NoSQL组合使用(唯一性)SQL+MQ消息队列
为了解决单台SQL数据库处理并发能力有限的问题,为了提高用户加载时的反馈效率来提高体验感
web→redis→mysql
CPU→缓存→内存→磁盘              以前
i7  i5  一级  二级  缓存

(1)自20世纪80年代开始,适应不同领域的新型数据库系统不断涌现。
(2)面向对象的数据库系统,实用性强、适应面广。
(3)20世纪90年代后期,形成了多种数据库系统共同支撑应用的局面。
(4)一些新的元素被添加进主流数据库系统中。
例如,Oracle支持的"关系对象”数据库模型。

三、当今主流数据库介绍

1.SQL Server (微软公司产品)

(1)面向Windows操作系统
(2)简单、易用

2.Oracle (甲骨文公司产品)

(1)面向所有主流平台,
(2)安全、完善,操作复杂

3.DB2 (IBM公司产品)

(1)面向所有主流平台
(2)大型、安全、完善

4.MySQL (甲骨文公司收购)

免费、开源、体积小

5.数据库类型

关系型数据库、非关系型数据库
(1)关系型数据库(SQL): 存储的往往是字符、字符串、数值、布尔值等 (磁盘)
(2)非关系型数据库(NoSQL) :存储的往往是图片、视频、语音等( 内存) 
(3)时序数据库(TSDB) :心电图,持续性,根据时间点进行变化的一组连续性的数据(时序数据)

四、关系数据库(MySQL)

主要的核心数据→ Oracle PostgreSQL
菜单、普通数据→ Mysql 缓冲层文件系统

实体-关系 E-R
记录(行)表示了一个实体(的属性)
而E-R图:
实体与实体之间的联系(关系)
即表与表的关系

客户编码:主键(类比入学学号)
主键特性:唯一、 非空

盐值加密→用于与数据库通讯时

1.关系数据库系统是基于关系模型的数据库系统。
2.关系模型的数据结构使用简单易懂的维数据表。
3.关系模型可用简单的“实体关系”  (E-R)图来表示。
4.E-R图中包含了实体(数据对象)、关系和属性三个要素。

1.实体

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

2.属性

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

3.联系

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

所有实体及实体之间联系的集合构成一个关系数据库

4.关系数据库的存储结构


记录:行
字段(属性):列
以行+列的形式就组成了表( 数据存储在表中)

数据库
多张表存储在数据库中
"关系型数据库"表与表字段/属性的关联

关系数据库的存储结构是二维表格。

在每个二维表中
(1)每一行称为一条记录,用来描述一个对象的信息。
(2)每一列称为一个字段,用来描述对象的一个属性。

五、关系数据库应用

 六、非关系数据库(NoSQL)

MongoDB 、Redis (内存数据库/缓存数据库) K-V键值对、与之类似的Memcache, K-V键值对
redis -memecache对比:

相同点:存储高热数据(在内存中高速运行)
不同点(优势) : redis可以做持 久化保存(保存在磁盘),可以存储对象

K-V: workdir=/usr/ local/nginx/
KEY - VOLUME

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

引申: redis 持久化方式
以键值存储数据,数据保存在内存中,但会定期将数据写入磁盘(持久化方式)

高德:实时分析平台,
使用非关系型数据库存储,如果需要持久化,就可以使用redis

1.非关系数据库也被称作NoSQL (Not Only SQL)
2.存储数据不以关系模型为依据,不需要固定的表格式
3.非关系型数据库的优点
(1)数据库可高并发读写
(2)对海量数据高效率存储与访问
(3)数据库具有高扩展性与高可用性
4.常用的非关系数据库:Redis、mongoDB等

七、MySQL数据库介绍

1.一款深受欢迎的开源关系型数据库
2.Oracle旗下的产品
3.遵守GPD协议,可以免费使用与修改
4.特点
(1)性能良好、服务稳定
(2)开源、无版权限制、成本低
(3)多线程、多用户
(4)基于C/S (客户端/服务器)架构
(5)安全可靠

5.日志
(1)数据库日志文件用于备份,恢复,故障定位、分析是最核心的部分
(2)mysql 与oracle 日志有所区别
(3)mysql 写一条数据,同步到日志中一条
PS:insert into ky11 (id, name, score) values (1, ' zhangsan' ,20) ;

(4)oracle:重做日志组
1)一个组中至少3个日志成员,轮流存储日志
2)还会有另一个组与之同步/备份
3)阿里云OSS对象存储,一式三份备份(使用重做日志组思想)
4)对象存储:存储大都是一些静态文件,图片、音频、视频
5)不能直接在对象存储中修改数据

6)飞天平台,盘古系统,钟馗:安全,女娲:选举/调度,盘古一式三份

6.Mysql存储引擎
myisam 和innodb
1)myisam: 快速读取,不支持事务
2)innodb: 更注重写,支持事务

7.mysql数据库管理
describe user;
(1)Mysql做为SQL数据库的特性Mysql的语言SQL语句来控制增删改查

(2)增删改查按照类型划分的
(3)具体的语句操作(基操)
基于SQL语句的进阶→更好的通过SQL语句的管理、控制,让Mysql处理能力更为效率

(4)高阶SQL语句用法
1)备份、恢复
2)集群设计、集群演变的理念:
3)单台Mysql→压力过大、同时数据存在单点故障的问题,要做冗余、备份
4)引申出第一个Mysql集群架构→主从复制(主-备)→mysq1性能不均衡→ I/0读写性能不均衡
5)引申出第二个Mysql集群架构→读写分离(主-备) →备用服务器是多个,但是Master服务器单个→Master服务器又存在了单点故障问题
6)引申出第三个架构→ MHA (master HA高可用) → 学习的集群
默认不需要小数点
整数

(5)常用的数据类型

       Char (10)如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取,高版本会报错。
       截取2/ 截断2

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

8.数据库管理操作:
查看数据库结构
describe table_ name;
表A
姓名  年龄  身高  体重
原表(字段):
姓名(varchar(40) )    年龄(int (4))    身高(decimal (5,2))    体重(varchar (10))
desc user;

Field: 字段名称
Type: 数据类型
Null :是否允许为空
Key:主键.
Default:默认值
Extra :扩展属性,例如:标志符列(标识了种子,增量/步长) 1 2
id 1 3 5 7

auto_ increment 自增长

八、MySQL商业版与社区版

1.MySQL商业版是由MySQL AB公司负责开发与维护,需要付费才能使用。
2.MySQL社区版是由分散在世界各地的MySQL开发者、爱好者一起开发与维护,可以免费使用。
3.两者区别
(1)商业版组织管理与测试环节更加严格,会比社区版更稳定。
(2)商业版不遵守GPL,社区版遵从GPL可以免费使用。
(3)商业版可获得7*24小时的服务,社区版则没有。

九、MySQL产品阵营

1.第一阵营: 5.0-5.1阵营,可说是早期产品的延续。
2.第二阵营: 5.4-5.6阵营,整合了MySQL AB公司、社区和第三方公司开发的存储引擎,从而提高性能。
3.第三阵营: 6.0-7.1阵营,就是MySQL Cluster版本,为适应新时代对数据库的集群需求而开发。
4.下载网址
http://www.dev.mysql.com/downloads

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

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

相关文章

[office] 如何在Excel中拉动单元格时表头不变形- #学习方法#职场发展#经验分享

如何在Excel中拉动单元格时表头不变形? 如何在Excel中拉动单元格时表头不变形?Excel是我们常用的办公软件,当我们使用Excel拉动单元格时表头不变形,该如何操作呢,下面小编就为大家做详细讲解 如何在Excel中拉动单元格时表头不变…

[word] 在Word中插入分页符 #经验分享#经验分享#笔记

在Word中插入分页符 在 Word中插入分页符?教大家如何在正文中快速的插入分页符。 ? ? ?1、在正文中选择我们要分页的位置。 ? ? ?2、点击插入,选择分页功能里面的“分页符”功能,即可成功在我们选择的位置进行分页。 ? ? ? ?以上…

存在d盘里的数据突然没有了?别担心,恢复方案在此

在数字化时代,数据存储的重要性不言而喻。然而,有时候我们会遭遇一些意想不到的困扰,比如存储在D盘的数据突然消失。这不仅可能导致重要文件的丢失,还可能影响我们的工作和生活。本文将探讨D盘数据消失的可能原因,提供…

这10个python库,下载都超过5亿

python的库数不胜数。哪些库使用得最多呢。今天分享10个下载都超过5亿的python库。从高到低排序 第一名:Urllib3 下载次数:8.93亿次 介绍:Urllib3是一个功能强大且用户友好的HTTP客户端库,提供了许多Python标准库中没有的特性&…

Golang | Leetcode Golang题解之第137题只出现一次的数字II

题目: 题解: func singleNumber(nums []int) int {a, b : 0, 0for _, num : range nums {b (b ^ num) &^ aa (a ^ num) &^ b}return b }

Linux卸载残留MySQL【带图文命令巨详细】

Linux卸载残留MySQL 1、检查残留mysql2、检查并删除残留mysql依赖3、检查是否自带mariadb库 1、检查残留mysql 如果残留mysql组件,使用命令 rpm -e --nodeps 残留组件名 按顺序进行移除操作 #检查系统是否残留过mysql rpm -qa | grep mysql2、检查并删除残留mysql…

【小白专用24.6.8】C#Lambda表达式

Lambda表达式可以采用以下任意一种形式的表达式&#xff1a; 1.表达式Lambda&#xff0c;表达式为其主体&#xff1a; (input-parameters) > expression 1 2.语句Lambda&#xff0c;语句块作为其主体&#xff1a; (input-parameters) > {<sequence-of-statements>…

数据结构之初识泛型

目录&#xff1a; 一.什么是泛型 二.引出泛型 三.泛型语法及&#xff0c;泛型类的使用和裸类型(Raw Type) 的了解 . 四.泛型的编译&#xff1a; 五.泛型的上界 六.泛型方法 注意&#xff1a;在看泛型之前可以&#xff0c;回顾一下&#xff0c;包装类&#xff0c;包装类就是服务…

Mac保姆级配置jdk环境

1.找到下载的jdk环境 通常是这个。留作备用 /Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home/bin 然后新开一个终端下执行以下命令 sudo vim ~/.bash_profile 进入编辑模式后 按 i 开始添加内容结束编辑模式按 ESC结束后保存输入 :wq!不保存输入 :q! 注意…

Elastic Platform 8.14:ES|QL 正式发布、静态加密和向量搜索优化

作者&#xff1a;来自 Elastic Gilad Gal, Tyler Perkins, Alex Chalkias, Trevor Blackford, Ninoslav Miskovic, Fabio Busatto, Aris Papadopoulos Elastic Platform 8.14 提供了 Elasticsearch 查询语言 (ES|QL) 的正式发行版 (GA) — Elastic 中数据探索和操作的未来。它还…

编写一个程序,提示用户输入三个点 p0、p1 和 p2,显示 p2 是否在从 p0 到 p1 的线段左侧、右侧,或者在该直线上。

(几何:点的位置)给定一个从点 p0(x0&#xff0c;y0)到pl(xl&#xff0c;pl)的有向线段&#xff0c;可以使用下面的条件来确定点 p2(x2&#xff0c;y2)是在线段的左侧、右侧&#xff0c;或者在该直线上(见下图): 编写一个程序&#xff0c;提示用户输入三个点 p0、p1 和 p2&#…

力扣78. 子集

给你一个整数数组nums&#xff0c;数组中的元素互不相同。返回该数组所有可能的子集&#xff08;幂集&#xff09;。解集不能包含重复的子集。你可以按任意顺序返回解集。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[],[1],[2],[1,2],[3],[1,3…

spring源码解析-(1)关于Bean

什么是Bean&#xff1f; 是spring对所有注入到IoC容器中的类的统称。 我们要注册进入spirng的bean千奇百怪&#xff0c;所以spring必须需要使用一个统一的定义来标识bean&#xff0c;就有了接下来的BeandDefinition&#xff0c;通过名称我们就可以知道&#xff0c;他是对bean…

Apache IoTDB 分布式架构三部曲(三)副本与共识算法

IoTDB 首创并应用的共识协议统一框架&#xff0c;为用户提供了灵活选择不同共识算法的可能性。 对于一个分布式集群而言&#xff0c;为了使得海量数据场景下集群能够横向扩展&#xff0c;集群需要按照一定的规则将全部数据分成多个子集存储在不同的节点上&#xff0c;从而能够更…

【C/C++】——小白初步了解——内存管理

目录 1. C/C内存分布 代码区&#xff08;Code Segment&#xff09;&#xff1a; 数据区&#xff08;Data Segment&#xff09;&#xff1a; 堆区&#xff08;Heap&#xff09;&#xff1a; 栈区&#xff08;Stack&#xff09;&#xff1a; 常量区&#xff08;Constant Seg…

spring boot 2.1 集成activiti 6.0.0和activiti-modeler 5.23.0可视化编辑器(随记)

先上pom&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.or…

AI高考大战,揭秘五大热门模型谁能问鼎数学之巅?

在高考前&#xff0c;我就有想法了&#xff0c;这一次让AI来做做高考题。就用国内的大模型&#xff0c;看哪家的大模型解题最厉害。 第一天考完&#xff0c;就拿到了2024高考数学2卷的电子版&#xff0c;这也是重庆市采用的高考试卷 这次选了5个AI工具&#xff0c;分别是天工&a…

【机器学习】与【数据挖掘】技术下【C++】驱动的【嵌入式】智能系统优化

目录 一、嵌入式系统简介 二、C在嵌入式系统中的优势 三、机器学习在嵌入式系统中的挑战 四、C实现机器学习模型的基本步骤 五、实例分析&#xff1a;使用C在嵌入式系统中实现手写数字识别 1. 数据准备 2. 模型训练与压缩 3. 模型部署 六、优化与分析 1. 模型优化 模…

hot100 -- 二分查找

目录 前言 &#x1f382;搜索插入位置 &#x1f33c;搜索二维矩阵 &#x1f33c;排序数组元素第一和最后一个位置 &#x1f33c;旋转排序数组 &#x1f4aa;旋转排序数组中的最小值 &#x1f4aa;两个正序数组的中位数 前言 二分算法学习_时间超限ac:0%-CSDN博客 &#…

Vue10-事件修饰符

一、示例&#xff1a;<a>标签不执行默认的跳转行为 1-1、方式一 <a href"http://www.baidu.com" onclick"event.preventDefault();">点击我</a> 1-2、方式二 1-3、方式三&#xff1a;事件修饰符 二、Vue的六种事件修饰符 2-1、prevent&…