【MySQL】数据库介绍|数据库分类|MySQL的基本结构|MySQL初步认识|SQL分类
目录
数据库介绍
什么是数据库
数据库分类
1.关系型数据库(RDBMS):
2.非关系型数据库:
MySQL要学啥
MySQL初步认识
SQL分类
💡推荐
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。【点击跳转到网站】
数据库介绍
什么是数据库
数据库,其实是一类软件,要做的事情,也是对数据进行高效的组织而且实现数据库软件的过程中,内部就会用到很多的数据结构的东西
数据库分类
数据库大体可以分为 关系型数据库 和 非关系型数据库
1.关系型数据库(RDBMS):
是指采用了关系模型来组织数据的数据库。 简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织,每一行都是一条数据,每一行都包含很多列,每个列还会有不同的类型
数据库中的所有数据,列数/类型/含义都要能够匹配
基于标准的SQL,只是内部一些实现有区别。常用的关系型数据库如:
(1)Oracle:甲骨文产品,适合大型项目,适用于做复杂的业务逻辑,如ERP、OA等企业信息系统。收费
(2) MySQL:属于甲骨文,不适合做复杂的业务。开源免费
(3) SQL Server:微软的产品,安装部署在windows server上,适用于中大型项目。收费
(4)SQLite:非常轻量级的数据库,整个只有1M左右大小的可执行程序,这个程序特别适合于一些配置比较低的设备进行使用,尤其是移动设备(手机)
2.非关系型数据库:
对于数据的格式上的要求比较松散,往往都是按照键值对/文档的形式来进行组织的,性能较关系型数据库更高,而且更适合在分布式的场景中使用
(了解)不规定基于SQL实现。现在更多是指NoSQL数据库,如:
(1)基于键值对(Key-Value):如 memcached、redis
(2)基于文档型:如 mongodb
(3)基于列族:如 Hbase
(4)基于图型:如 neo4j
关系型数据库与非关系型数据库的 区别:
| 关系型数据库 | 非关系型数据库 | |
| 使用SQL | 是 | 不强制要求,一般不基于SQL实现 |
| 事务支持 | 支持 | 不支持 |
| 复杂操作 | 支持 | 不支持 |
| 海量读写操作 | 效率低 | 效率高 |
| 基本结构 | 基于表和列,结构固定 | 灵活性比较高 |
| 使用场景 | 业务方面的OLTP系统(联机事务处理) | 用于数据的缓存、或基于统计分析的OLAP系统(联机分析处理) |
MySQL要学啥
1.SQL 语句的使用(编程语言)
SQL本质上是一个"编程语言”,专门用来操作数据库的编程语言(和 Java,C++之类的画风上差别非常大)
SQL是各个数据库之间通用的,各种数据库使用的语言都是 SQL(结构化的查询语言)
熟悉了 SOL 各种数据库都可以很容易上手了
2.MySQL 内部的一些基础原理(常见面试题)
只是根据面试题,见招拆招的介绍一些原理,应付面试有余,但是不够系统
💡3.针对数据库进行编程
通过 Java 来操作数据库(这个过程中也是会用到 SQL)
MySQL初步认识
MySQL 是一个"客户端-服务器"结构的程序
(1)客户端(client)主动发起请求的一方
(2)服务器(server)被动接受请求的一方(本质上就是一台电脑,只是配置更高,性能更强)
(3)请求(request)客户端主动给服务器发的数据
(4)响应(response)服务器给客户端返回的数据
几个问题:
1.数据是在客户端这边存储的,还是服务器储的?
答:服务器.客户端仅仅是和用户之间交互的界面;服务器涉及到的各种数据都是在服务器这边存储的;用户想要增删改查某个数据,此时就会从客户端发起一个网络请求到服务器上,MySQL服务器就会解析这个请求,获取到用户的意图,执行对于的逻辑,完成实际的增删改查,并且把结果通过网络反馈给客户端,最值客户端再显示到界面上
2.服务器能否知道客户端啥时候给他发请求?(服务器的特点1:7*24h运行)
答:不能! 服务器是被动的一方
所以, 一个专业的服务器,往往要7*24 小时运行,来随时应付可能到达的客户端请求,但是实际上服务器并不能真的做到007这么稳定的,可能会出现异常情况导致服务中断,或者更新服务器版本,被迫停机重启. 这样就需要分布式来做高可用的支持从而解决上述问题(也就是多搞几个机器),也叫做冗余:复制关键的组件和数据,以确保在出现故障时系统仍然可用
3.服务器是只给一个客户端提供服务嘛? 还是要给多个客户端提供服务?(服务器的特点2)
答:多个客户端,一般情况下都是一个服务器对应多个客户端,实际上也是有服务器给某个客户端提供专属服务的
SQL分类
1.DDL数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter
2.DML数据操纵语言,用来对数据进行操作代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令: select
3.DCL数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit
以上SQL我们主要会在后面学习DDL和DML的操作
拓展:计算机的组成部分
CPU(中央处理器),主板(一块大的电路板,cpu 要装在上面),内存,硬盘(存储数据的),电源,散热器,机箱,显卡(GPU 专门负责图形渲染相关的计算的(最贵的)),显示器,键盘 /鼠标
内存 和 硬盘的概念辨析
简单理解:
内存就是电脑上的16GB/32G(其中部分空间系统无法使用,实际能用的是 15.4)
硬盘就是电脑上的C盘,D盘,E盘,硬盘有机械硬盘,固态硬盘,固态硬盘的速度比机械硬盘能快10倍,即使如此也远远比不上内存的速度
| 内存(RAM) | 存储空间比较小 | 访问速度比较快 | 成本更高(贵) | 易失的(断点上面的数据会丢失) |
| 硬盘(外存) | 存储空间比较大 | 访问速度比较慢(速度能差出好几个量级) | 成本更低(便宜) | 持久的(相对于内存而言) |
硬盘(外存)
外存是一个"统称”,硬盘是其中的典型代表,U盘,软盘,光盘...都属于外存,U盘非常类似于固态硬盘, 但是内部工艺是不同的, 存储空间/读写速度 远远低于 固态硬盘
显存、CPU 和GPU(显卡)
(1)CPU 和中央处理器:进行各种逻辑判断和算术运算,用的是:通用的运算芯片
(2)显卡 (GPU):专用计算芯片,专门用来计算图形图像
(3)显存:就可以理解成专门给显卡使用的内存,平时的内存都是给 CPU 使用的.为了不冲突一般会在显卡上单独焊上一些内存单元,专门给显卡使用;也有的显卡自己不带显存的,就需要从 cpu 这里分一些内存过来用了,这种通信方式,需要占据更多的主板的总线通信带宽,性能会更低一些
问:MySQL 数据库, 服务器这边要存储数据,存储在哪里?内存?硬盘?
答:MySQL 使用硬盘存储数据(1)空间大(2)持久化存储
万一当前要管理的数据特别多,硬盘都装不下了~~那就可以引入更多的机器每个机器存储整个数据集合中的一部分(分布式),在分布式系统中,为了能够更方便的提作数据,也延伸出了一系列的技术体系 =>大数据
Redis 则是把数据存储在内存中~~(特殊),其他数据库基本都是存储在硬盘
相关文章:
【MySQL】数据库介绍|数据库分类|MySQL的基本结构|MySQL初步认识|SQL分类
目录 数据库介绍 什么是数据库 数据库分类 1.关系型数据库(RDBMS): 2.非关系型数据库: MySQL要学啥 MySQL初步认识 SQL分类 💡推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风…...
2024年6月11日 (周二) 叶子游戏新闻
万能嗅探: 实测 网页打开 某视频号、某音、某红薯、某站,可以做到无水印的视频和封面下载功能哦,具体玩法大家自行发挥吧。 WPS免登录一键修改器: 去除烦人的登录且能正常使用 日本一首部游戏《拼图世界》上架Steam 30年PS名作日本游戏厂商日本一的首部品…...
JavaSE----类和对象(中)
5. 对象的构造及初始化 5.1 如何初始化对象 通过前面知识点的学习知道,在Java方法内部定义一个局部变量时,必须要初始化,否则会编译失败。 public static void main(String[] args) {int a;System.out.println(a); }// Error:(26, 28) jav…...
STC8增强型单片机进阶开发--OLED显示器(SPI)
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目…...
在CSS中,可以使用 float 属性来设置元素浮动
在CSS中,可以使用float属性来设置元素浮动。float属性有三个值:left、right和none。 float: left;:将元素浮动到左侧。float: right;:将元素浮动到右侧。float: none;:取消元素的浮动(默认值)。…...
wordpress主题开发
科普一:wordpress 是一套用 php 这个语言写的CMS后台管理系统,即我们大家的 wordpress 网站后台是一样的,能体现我们网站外观不同的地方就在于wordpress主题(即皮肤),而这个主题的基本构成是 htmlcssjavasc…...
Elasticsearch 认证模拟题 - 17
这两道题目非常具有代表性,分别是跨集群复制和跨集群检索,需要相应的 许可 这里在虚拟机上搭建集群完成这两道题目,这里补充一下 elasticsearch 和 kibana 的配置文件 # elasticsearch.yml cluster.name: cluster2 node.name: cluster2-node…...
Swift 中更现代化的调试日志系统趣谈(一)
概述 昨天凌晨苹果刚刚发布了 WWDC2024 一系列新视频,这标志着苹果开发的一只脚已迈入人工智能(Apple Intelligence)的崭新时代。即便如此,我相信不少秃头码农们还在使用一些“远古简陋”的调试方法来剖析 2142 年的代码。 不过别担心,这一切将在小伙伴们学完本系列博文后…...
深入理解Java中的SPI机制
1. 简介 SPI(Service Provider Interface) 是Java提供的一种为服务框架提供服务实现的机制。它允许框架在运行时动态地发现服务的实现,从而实现模块化设计。在Java中,SPI机制主要用于解耦API和实现,使得应用程序可以在…...
2、python 基础学习总结
文章目录 一、python 标识符和变量命名规则1、python 标识符2 python 变量和变量命名规则 二、数据类型2.1 Numbers(数字类型)2.2 String(字符串类型)2.2.1 单引号、双引号、三引号字符串之间的区别2.2.2 转义字符 在这里插入图片…...
线程的状态!!!
NEW:(初始状态) 线程对象已经创建,但尚未启动。此时,线程还没有开始执行。 RUNNABLE:(运行状态) 线程已经启动并且正在运行,或者准备好运行,但可能由于其他线…...
Hsah碰撞(冲突)是什么?如何解决?
Hash冲突:两个不同的对象经过hash计算后得到的hash值相同,导致冲突。 解决方法: 1、开放地址法:在哈希表中寻找其他的空闲位置来存储冲突的元素。 2、拉链法:拉链法的基本思路是在每个哈希槽中存储一个链表。当发生…...
doc 和 docx 文件的区别
人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…...
泛微OA E9 浏览框显示的数据根据表单字段过滤
一、实现效果:如图所示,字段“物品名称”浏览框显示的数据根据“类型”字段进行过滤。 二、实现方法: 1、建模引擎-应用建模-浏览框-浏览框列表中单击“办公耗材”-“浏览框列表”-“操作”-“编辑” 2、sql语句中根据OA自带是示例增加where…...
AIGC涉及到的算法(一)
目录 1. 生成对抗网络(GAN) 2. 变分自编码器(VAE) 3. 扩散模型(Diffusion Model) 4. Transformer 模型 5. 自然语言处理算法(NLP) 6. 计算机视觉算法(CV) 7. 神经网络算法 8. 决策树算法 9. 遗传算法 10. 聚类算法 1. 生成对抗网络(GAN) 原理与应用:生成对…...
一种基于单片机的智能饮水机设计
随着人们生活水平的提高,对美好生活质量的追求也越来越高。饮 水机是人们日常生活不可或缺的,实现饮水机的智能化控制不但方便, 而且更加安全。本文提出一种基于单片机的智能饮水控制系统,通过传 感器实现对水温的监测,…...
竞争性谈判和竞争性磋商的区别(电子化招采系统)
竞争性谈判和竞争性磋商在政府采购和项目采购中都是常用的方式,但它们在多个方面存在显著的区别,郑州信源数智化招采系统可满足各种招标和采购方式,结合多年招采系统研发和实施经验,对竞争性谈判和竞争性磋商的区别总结如下: 1、…...
STM32F413 STM32F423数据手册 中文版 STM32F413 STM32F423勘误手册英文版等文档
链接: https://pan.baidu.com/s/1AeYaoFb5Wurii6OM2ZlY2Q 提取码: a3tj 本文分享关于STM32F413 和STM32F423芯片的相关资料,主要资源如下图所示: 包含的文档有: STM32F40xxx and STM32F41xxx单片机编程手册 中文版 英文版 STM32F413xG 423…...
【Vue】——前端框架的基本使用
💻博主现有专栏: C51单片机(STC89C516),c语言,c,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux…...
tmux-以脚本中的tmux命令为例解释常用tmux命令
SESSIONenv_monitor_hr_parking ----- 将会话名称env_monitor_hr_parking赋值给变量SESSION tmux new-session -s $SESSION -n runner -d ----- new-session 用于创建新的会话。-s $SESSION 是一个选项,其中 $SESSION 是你想要给你的新会话命名的名称。-n runner 是…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
CSS | transition 和 transform的用处和区别
省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...
