开开心心带你学习MySQL数据库

news2024/11/20 20:37:56

关于 MySQL 数据库~~


数据库和数据结构的关系

数据结构,是一个学科,研究数据如何组织,

对于少量的数据,不需要组织…如果是大量的数据,就得好好组织起来,以便于后续进行增删查改!!!~~

数据库,是一类软件,这个软件就是用来组织/保存/管理数据的.

组织这些数据也是为了后续进行增删改查~~

数据库被实现的过程中,也应用到了很多的数据结构!!!


常见的数据库软件:

  1. Oracle [数据库圈子里的带头大哥!!!] (最好的)

​ Oracle (甲骨文)~~现在负责维护Java的公司 ~~互联网行业的巨头

适用于对数据安全极高,以及不在意成本的场景下,如银行

谈论公司大不大,主要是用“公司的市值”来衡量,字节由于没上市….市值缺少准确数字~~

华为也是同理

~~公司没上市,是因为太有钱了,不需要通过市场来融资

同理,valve~~

  1. MySQL 当前使用最广泛的(用的最多的)

    mysql作为一个开源免费的数据库~~就是比收费的香

    一时白嫖一时爽,一直白嫖一直爽

    尤其是中小公司,更青睐mysql

    mysql其实也是近几年左右发展起来的,以前的时候,mysql还不行

    阿里巴巴~~在200x年左右的时候,(淘宝,支付宝)数据库主要是用Oracle,但是Oracle太贵了!!

    成本太高了~~要想用Oracle,不是光花钱买软件,还得搭配IBM的小型机才行

    计算机发展的阶段:
    巨型机(超算,全世界只有联合国五常才有,数量稀少)—>大型机—>中型机—>小型机—>微机 (如电脑,笔记本,以前还有微机课)
    大型机,中型机,小型机也被统称为“小型机”

阿里巴巴就推动了去oracle化这样的行动~~使用mysql来代替Oracle

相当于阿里带头,把mysql里的坑给趟了一遍~~ 其他人一看,纷纷跟进 ~~mysql火了

Oracle这是就着急了!!!~~釜底抽薪 ,打不过就把mysql买了,ε=(´ο`*)))唉真是贫穷限制了我的想象力!! ~~Oracle它给的钱太多了 ~~ 卖完之后,mysql的作者就后悔了 ~~ 作者搞了一手操作,把mysql的源码,另起了分支,重新发布,起了个名字叫做mariadb

主流互联网公司都在用mysql

​ 3.SQL Server 微软搞的数据库 ~~ 很多学校数据库就是用的这个~~ 从技术角度来看,这是一个很好的数据, ~~ 但是它好用不火 ~~ 主要原因是早些年微软的营销策略出了点问题,把SQL Server 等核心产品都和 Windows Server 捆绑销售 ~~ 把路走窄了,因为当时互联网服务器领域,Linux是最大的操作系统,当时公司的产品都是围绕Linux这个系统打造的生态 ~~ 嘿嘿,微软把自己给坑了 ~~ 点评:酒香也怕巷子深

​ 4.SQLite 轻量级数据库

​ 整个程序就是一个exe可执行文件,体积大概就是1M运行时吃的内存啥的也都不高 ~~

​ 正因为这个东西轻量,经常会放到一些“小的”嵌入式系统上使用

​ 最典型的就是手机,(安卓系统内置了sqlite)

也是个使用广泛的数据库

​ 嵌入式:

​ 生活中有很多设备,也是计算机 ~~ 如:冰箱,洗衣机,空调,投影仪,电视………这些设备上只需要

​ 完成一些特定功能就行了 ~~ 不需要啥太高的配置,但可以做到联网 ~~ 万物互联

​ 这些数据库大同小异 ~~ 90%以上都是共通的


以上数据库,都是关系型数据库,对于数据库中的数据的格式,要求比较严格

非关系数据库,代表的软件: redis,MongoDB,HBase….(功能相比于关系性数据库要少一些,但是性能更高,同时更适合当下大数据分布式这样的时代背景)

​ 大数据:

​ 如果数据一个机器装不下,此时需要使用多个机器来装 ~~ 此时这样的数据就是“大数据”

​ 分布式:

​ 引入多台机器,相互配合功能存储和管理这样的一份数据 ~~ 此时就称为“分布式”的系统

​ 云 => 就是服务器

​ 向现在有的厂商“云游戏”,但网络延时大

​ 微服务(嘿嘿,骗人的):

​ 在分布式的基础上(分布式就是使用多个机器共同管理一组数据),当我们在分布式背景下,引入的机器太多了,此时就需要对机器分分类 ~~分类分的越多越细,整体的结构就更复杂,单个机器干的事情就越少 ,更单一了 ~~称为叫做微服务 ~~ 相当于是分布式系统演化过程中的一个阶段 ~~ 解决原有的问题下,又引入新的问题,是好是坏,褒贬不一啊!

咱们日常见到的这些“高大上”的术语,本身都不神秘,~~ (甚至于说都是很简单的东西) ~~ 为啥要造出这些高端的词呢?这些词造出来是为了忽悠资本家的,为了拉投资 ~~作为从业者的我们,内行,可不要被这些词给忽悠了


谈谈mysql

关于mysql主要学啥?

1.SQL编程语言

~~sql是编程语言,sql server, mysql,oracle是软件 ,sql这个语言是运行在这些数据库软件上的……(就像java运行在jvm上)

~~ 通过SQL来完成对数据库的增删查改

~~不同的数据库软件,可能对于sql的语法支持略有差异,但是整体都是一样的

2.数据库背后的一些典型原理(面试题)

3.通过java代码来操作数据库[至关重要]

~~在工作中,绝大多数针对数据库的操作,都是通过代码来自动完成……


课堂上学习mysql主要是使用命令行界面来操作的,市面上也存在很多的图形化的程序 ~~ 本质上都是操作SQL ~~ 因为公司中有些环境,只能用命令行操作……命令行操作学习的核心


MySQL 这个数据库软件,是一个“客服端服务器”结构的程序

重要概念:

客户端(Client)

服务器(Server)

举个例子,有一天我去楼下吃饭,楼下有小饭馆,去小饭馆吃饭,到了小饭馆,进门说:”老板,来份蛋炒饭”,老板说:“好嘞,您稍等”.不一会,老板就把蛋炒饭端到你面前.

~~在这个交互过程中,我就是“”客户端“”,饭馆就是“服务器”

~~我和饭馆之间发生了交互

~~我是主动发起交互的这一方,因此我叫做“客服端”

~~餐馆是被动接受交互的这一方,因此餐馆就是“服务器”

客户端/服务器的定义,只是根据主动被动来确定的.

换句话说,某个程序,在场景1中可能是主动的,在场景2中可能就是被动的了,

此时,这个程序即是客户端,也是服务器 ~~

请求(Request): 客户端给服务器发的数据,就是请求.”老板,来份蛋炒饭”,就是请求.

响应(Response): 服务器返回给客户端的数据,就是响应.不一会,老板就把蛋炒饭端到你面前,就叫响应.

由于服务器是被动的 ~~ 所以餐馆(服务器)无法确定我(客户端)今天来不来吃饭,更会知道我啥时候来吃饭,同样也不知道我来了要吃啥子…… ~~所以这个餐馆,一大早就得开张,一直开到很晚才能关门 ~~就得时刻准备着!!!

对于一般的服务器程序来说,也是要持续运行的~~ 7*24小时运行(一天工作24小时,一周工作7天) ~~007

~~ 程序猿996,在其他行业里横向对比,已经是算比较轻松的了 ~~

销售 ~~ 地球不爆炸,我们不放假;宇宙不重启,我们不休息

医生 ~~ 要么在上班,要么在上班的路上…(疫情期间,更是辛苦)

停电,断网……这些都可能对服务器的稳定性造成影响.~~ 想象一下,微信服务器挂了,这会引起社会恐慌的 ~~ 非常了不得的事情!!!

大的互联网公司都会从技术手段来解决上述问题 ~~ 来保证服务的稳定性是非常高的…….一年之内不可用的时间不会超过5min~~

一个服务器,同一时刻,可能需要给多个客户端提供服务. ~~ 一个餐馆,不是专属给我开的,而是给很多人提供“吃饭”服务的~~当然,也不绝对,有的服务器是专属服务器,专门给某个固定的客户端提供服务的,也比较常见 ~~ 包括餐馆也有专属餐馆

在我们安装mysql的时候,我们同时安装了mysql的服务器和mysql的客户端!!!(这两程序都是在你的电脑上的)

服务器:

QQ截图20230831135247


客户端:

image-20230831135526395

image-20230831135610064

mysql的客户端和服务器通过网络进行通信!! ~~客户端和服务器可以在同一个主机上(也就是现在我的情况) ~~也可以在不同的主机上(主机A装了客户端,主机B装了服务器),以后工作中基本是这个情况

image-20230831141056649

mysql具体是使用啥样的硬件设备来保存的呢?

mysql以及其他的关系型数据库,都是使用硬盘来保存数据的!!!

计算基本结构

image-20230831142313314

以上结构称为“冯洛伊曼体系”

谁提出来的?

~~冯洛伊曼,咱们的祖师爷, ~~咱们现在能够学计算机,能够去学编程,能够端上这碗饭,

能够成家立业,全靠祖师爷赏饭

image-20230831183650267

咱们的祖师爷,事迹有很多 ~~

最初是一个数学家 ~~ 然后又是一个物理学家,还是一个化学家,还是博弈论之父,还参与过曼哈顿计划

,是奥本海默的技术顾问…….这些头衔,随便挑出一个,都可以名存青史…….

20世纪,最伟大的全才!!!

image-20230831184404167

图灵(也是咱的祖师爷)排名不分先后


重要的知识点

内存和外存(硬盘)区别(对于程序设计,有深远的影响):

1.内存访问速度快,外存访问速度慢~~速度能差3-4个数量级(即几千倍)

2.内存的空间小,外存的空间大.(比如我的电脑,外存16GB,硬盘512GB)

3.内存成本贵,外存成本便宜!!! ~~ 一个好一点的16GB的内存条,可能就得几百上千,而同样几百上千能买到一个很好的1T甚至2T的固态硬盘(SSD,电子结构)或者4T的机械硬盘(靠机械结构存储数据,存储速度比较慢)能买2个

4.内存的数据(易失),断电后会丢失,外存的数据(持久),断电后,数据还在,但过个几年,就不知道在不在了!,”持久化”=>就是把数据写到硬盘上

计算机的基本单位~~

bit 一个二进制位

8 bit => 1 byte

1024 byte => 1 MB

1024 MB => 1 GB

1024 GB => 1 TB

1024 TB => 1 PB


数据库 ~~

数据库本体是服务器,服务器使用硬盘来存储数据 ~~ 上述硬盘的特点在我们数据库这也是成立的!!!

数据库服务器具体是如何在硬盘上组织数据的呢?

image-20230831191612828

1.mysql服务器为了更好的组织数据,把上面要存的数据逻辑上划分出了多个数据集合.这些数据集合也称为叫做"数据库"

2.每个数据库里,使用“表”这样的结构来组织数据

​ “表”=>相当于excel表格,有很多行,每一行有很多列,最上面的一行是表头(描述每一列啥意思)

3.每个表里有很多条记录(record),每个记录也就是一行(row)

4.每一个行这里又有很多列(column).每一列也称为一个字段(field)

关系型数据库都是这一套结构=>(关系型数据库对于数据的格式要求是比较严格的) ~~反观 非关系数据库,数据存储往往是基于文档/键值对,格式就比较松散,要求不严格…….

image-20230831191745903

​ “表”=>相当于excel表格,有很多行,每一行有很多列,最上面的一行是表头(描述每一列啥意思)

3.每个表里有很多条记录(record),每个记录也就是一行(row)

4.每一个行这里又有很多列(column).每一列也称为一个字段(field)

关系型数据库都是这一套结构=>(关系型数据库对于数据的格式要求是比较严格的) ~~反观 非关系数据库,数据存储往往是基于文档/键值对,格式就比较松散,要求不严格…….

[外链图片转存中…(img-kEqyNHD0-1693482219888)]

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

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

相关文章

RHCE——十三、Shell自动化运维编程基础

Shell 一、为什么学习和使用Shell编程二、Shell是什么1、shell起源2、查看当前系统支持的shell3、查看当前系统默认shell4、Shell 概念 三、Shell 程序设计语言1、Shell 也是一种脚本语言2、用途 四、如何学好shell1、熟练掌握shell编程基础知识2、建议 五、Shell脚本的基本元素…

【历史上的今天】8 月 9 日:人工智能理论的奠基者诞生;鸿蒙 OS 发布;“云计算”概念被提出

整理 | 王启隆 图源:维基百科 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。 今天是 2023 年 8 月 9 日,在 1859 年的今天,电梯获得了专利。 用于运输货物和建筑材料的起重系统的想法自埃及文明以来就已…

小兔鲜商03

进入可视区加载数据: 首页有很多模块,如果一次性加载所有数据,很卡,,当移动到要显示的地方,才加载数据 使用 vueuse 库中 useIntersectionObserver方法,, 传入要监听的元素 target …

UE5打完包后,启动程序不能全屏

最近看到ue5的打包程序后不能默认自动全屏,效果如下,发现并不是全屏的,而且就算点击放大也不是全屏 解决办法:设置如下之后在打包就可以了 但是会一直打印错误的日志,不过这个不影响使用

【LeetCode算法系列题解】第1~5题

CONTENTS LeetCode 1. 两数之和(简单)LeetCode 2. 两数相加(中等)LeetCode 3. 无重复字符的最长子串(中等)LeetCode 4. 寻找两个正序数组的中位数(困难)LeetCode 5. 最长回文子串&am…

文献综述|针对图像描述模型的对抗样本攻击

前言:图像描述对抗攻击旨在通过攻击正常的图像描述模型,为正常输入图像添加扰动得到对抗样本,使得正常模型输出目标句子或目标关键词,现将当前相关工作大致汇总如下。本综述初写于2022年8月29日。 部分相关工作介绍 Shekhar 等在…

【使用DataEase数据可视化分析工具访问cpolar】

DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。 在本地搭建后,借助cpolar 内…

阿里云国际站不想自己充值怎么办?-unirech阿里云国际站代充

在阿里云国际版官网注册是需要绑定paypal或者visa卡才可以完成注册,但是很多网友表示没有这些,阿里云国际站不想自己充值怎么办?其实通过分销商Unirech来注册的话就完全不用担心这个问题了,因为可以直接省略这一步,阿里…

【Java从入门到大牛】IO流下篇

🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:Java从入门到大牛 🌠 首发时间:2023年8月31日 🦋 欢迎关注🖱点赞👍收藏🌟留言&#x1f43…

RT-Thread自动初始化机制

自动初始化机制是指初始化函数不需要被显示调用,只需要在函数定义处通过宏定义的方式进行申明,就会在系统启动过程中被执行。 int rt_hw_usart_init(void) {rt_hw_serial_register(&serial1, "uart1",RT_DEVICE_FLAG_RDWR | RT_DEVICE_FL…

Web服务器简介及HTTP协议

一、HTPP请求/响应报文格式 1.客户端连接到Web服务器 一个HTTP客户端,通常是浏览器,与Web服务器的HTTP端口(默认为80)建立一个TCP套接字连接。例如,http://www.baidu.com(URL) 2.发送HTTP请求 通过TCP套接字&#xff…

C++哈希(散列)与unordered关联式容器封装(Map、Set)

一、unordered系列关联式容器 在C98中,STL提供了以红黑树为底层数据结构的关联式容器(map、set等),查询时的效率可以达到,最差情况下需要比较红黑树的高度次。因此在C11中,STL提供了四个unordered系列关联式容器&…

centos7 docker安装记录

以下所有命令都在root用户下进行,若为普通用户,需要在所有命令前加上 sudo。 1、更新yum包 将yum包更新到最新 yum update2、安装需要的软件包 yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的; yum …

中国移动加大布局长三角,打造算力产业新高地

8月27日,以“数实融合算启未来”为主题的2023长三角算力发展大会在苏州举办,大会启动了长三角算力调度枢纽,携手各界推动算力产业高质量发展。 会上,移动云作为第一批算力资源提供方,与苏州市公共算力服务平台签订算力…

机器人编程怎么入门?

机器人已经在我们中间存在了二三十年。如今,机器人在我们的文化中比以往任何时候都更加根深蒂固。大多数机器人机器用于各种装配线,或在世界各地的矿山或工业设施中执行密集的物理操作。 还有一些家用机器人,工程师正在对机器人进行编程&…

debug调试时,通过[[FunctionLocation]]找到函数在源代码中的位置

[[FunctionLocation]] 是 JavaScript 引擎内部的一个属性,用于记录函数在代码中的位置。它不是 JavaScript 语法的一部分,而是在调试和开发过程中用于追踪函数定义位置的一个辅助属性。 当我们在浏览器的开发者工具或其他调试工具中查看函数的属性时&am…

【C++】Visual Studio EditorConfig 格式设置

【C】Visual Studio EditorConfig 格式设置 文章目录 【C】Visual Studio EditorConfig 格式设置I - EditorConfig1.1 - 通用设置indent_styleindent_sizetab_widthend_of_linecharsettrim_trailing_whitespaceinsert_final_newline II - Visual Studio 特定键值缩进设置cpp_in…

Docker基础入门:Docker网络与微服务项目发布

Docker基础入门:Docker网络与微服务项目发布 一、前言二、Docker0理解2.1 ip a查看当前网络环境2.2 实战--启动一个tomact01容器(查看网络环境)2.3 实战--启动一个tomact02容器(查看网络环境)2.4 容器与容器之间的通信…

企业数据将作为资产被纳入财务报表?百望云建议企业做好三点准备

在数字化转型过程中,大家一直比较关心技术创新有哪些,我如何能快速使用?却经常忽略了更深层次的问题,如:数字化转型的价值效益“有哪些”、我的企业“怎么获取”、我的系统是否支持“价值传递”? 近日&…

Apipost:为什么是开发者首选的API调试工具

文章目录 前言正文接口调试接口公共参数、环境全局参数的使用快速生成并导出接口文档研发协作接口压测和自动化测试结论 前言 Apipost是一款支持 RESTful API、SOAP API、GraphQL API等多种API类型,支持 HTTPS、WebSocket、gRPC多种通信协议的API调试工具。除此之外…