学会使用MySQL数据库(1)数据库相关背景了解

目录

什么是数据库

客户端-服务器(Client-Server)

数据库分类

MySQL服务器安装

内存和外存


什么是数据库

存储数据用文件就可以了,为什么还要弄个数据库?

文件保存数据有以下几个缺点:

  • 文件的安全性问题
  • 文件不利于数据查询和管理
  • 文件不利于存储海量数据
  • 文件在程序中控制不方便

为了解决上述问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。

数据库(Database)是一种结构化数据的集合,以及用于存储、管理、检索和操作这些数据的系统。数据库的存在是为了解决数据存储和管理的各种问题,相对于简单的文件存储,数据库具有以下优点:

  • 1. 数据的安全性:数据库系统提供了访问控制和权限管理机制,可以确保只有授权的用户可以访问特定数据。这增强了数据的安全性,防止未经授权的访问和数据泄露。
  • 2. 数据查询和管理:数据库系统允许用户使用SQL(Structured Query Language)等查询语言轻松地执行复杂的数据查询操作。这使得数据的检索和管理变得更加灵活和高效。
  • 3. 存储海量数据:数据库系统可以轻松处理大量数据,因为它们经过了优化,能够高效地存储和检索海量数据。这对于需要处理大型数据集的应用程序非常重要,如企业级系统和互联网应用。
  • 4. 数据的一致性和完整性:数据库系统可以实施数据完整性约束,确保数据的一致性和正确性。这意味着数据在数据库中始终保持有效和可靠。
  • 5. 并发控制:数据库系统具有并发控制机制,允许多个用户同时访问数据库而不会导致数据混乱或冲突。这对于多用户环境中的应用程序至关重要。
  • 6. 数据备份和恢复:数据库系统提供了备份和恢复功能,以防止数据丢失或损坏。这有助于保护数据的可用性和持久性。
  • 7. 数据库服务器:数据库可以部署在服务器上,允许远程连接和服务。这使得多个用户可以通过网络访问和共享数据,促进了协作和数据共享。

总之,数据库系统是一种专门设计用于高效、安全、可管理和可扩展地存储和操作数据的软件。在许多应用程序和业务场景中,使用数据库能够更好地满足数据管理的需求,提高了数据的可用性和可靠性。

客户端-服务器(Client-Server)

你还可以说,MySQL是一个客户端-服务器(Client-Server)架构的数据库管理系统。在这种架构中,客户端和服务器之间通过网络进行通信,实现了多个程序之间的相互作用和协作。

以下是关于MySQL客户端-服务器模型的一些关键概念:

  1. 客户端(Client): 客户端是主动发起请求的一方,通常是应用程序或工具,它需要与MySQL服务器进行交互来执行数据库操作。客户端负责向服务器发送SQL查询、更新或其他请求。

  2. 服务器(Server): 服务器是被动接受请求的一方,它运行MySQL数据库管理系统,并等待来自客户端的连接请求。一旦建立连接,服务器会处理客户端的请求,执行相应的数据库操作,并将结果返回给客户端。

  3. 请求(Request): 请求是客户端发送给服务器的数据,通常是包含SQL查询或其他数据库操作的请求。服务器接收到请求后,会解析并执行其中的操作。

  4. 响应(Response): 响应是服务器对客户端请求的回应,通常包含查询结果、错误信息或其他相关信息。客户端接收响应后,可以根据需要进行后续处理。

客户端-服务器模型的优点之一是它允许多个客户端同时连接到同一个MySQL服务器,从而实现了多用户的并发访问和操作数据库的能力。这种模型还使得应用程序与数据库之间的分离成为可能,允许不同的应用程序通过相同的服务器与数据库进行交互。

分布式系统也通常采用客户端-服务器架构,这种架构模型在分布式环境中非常常见。在分布式系统中,客户端和服务器之间仍然存在通信和交互,但在这种情况下,客户端和服务器可能分布在不同的物理或虚拟位置,并通过网络进行通信。

分布式系统(Distributed System)是由多个独立的计算机节点或处理单元组成的集合,这些节点通过网络连接在一起,并共同工作以完成特定的、更复杂的任务或提供服务。这些节点可以位于不同的地理位置,彼此之间通过网络通信来协作和共享资源。

数据库分类

数据库可以大致分为关系型数据库(RDBMS)和非关系型数据库(NoSQL数据库),它们在数据组织和存储方式上有很大的区别:

1.关系型数据库(RDBMS):

这种类型的数据库采用了关系模型,将数据组织成二维表格(表)的形式,表之间通过关系(关联键)相互连接。关系型数据库使用SQL(Structured Query Language)进行数据操作和查询。常见的关系型数据库包括:

  • Oracle:适合大型企业项目,支持复杂的业务逻辑,如ERP和OA系统。属于商业产品,需要付费使用。
  • MySQL:开源的关系型数据库,适用于中小型项目和轻量级应用。免费使用。
  • SQL Server:微软的数据库产品,适用于中大型项目,通常在Windows Server上部署。需要购买许可证。

2. 非关系型数据库(NoSQL数据库):

这种类型的数据库不遵循传统的关系模型,通常用于存储大量非结构化或半结构化的数据。NoSQL数据库有多种类型,包括:

  • 键值对数据库(Key-Value):使用键值对存储数据,如Memcached和Redis,适用于高速缓存和分布式存储。
  • 文档型数据库(Document):存储文档格式的数据,如MongoDB,适用于处理半结构化数据,如JSON或XML。
  • 列族数据库(Column-Family):以列族的形式存储数据,如HBase,适用于大规模的分布式数据存储。
  • 图数据库(Graph):用于存储图形数据结构,如Neo4j,适用于处理关系密集型数据,如社交网络和推荐系统。

非关系型数据库通常在大数据、实时应用和分布式系统中表现出色,因为它们具有更高的伸缩性和灵活性,能够应对不同类型的数据和工作负载。关系型数据库则更适合需要强一致性和事务支持的应用程序。选择哪种数据库取决于具体的应用需求和数据特点。

MySQL服务器安装

你需要安装的是MySQL服务器和客户端。

服务器才是真正的本体,是存储数据的部分。客户端的话都可以,我自己用的是官方客户端(自带命令行客户端),你想用第三方的客户端也可以。

MySQL的最新版本是8.0系列,但是我建议安装5.0系列的(5.6、5.7……都无所谓),因为最新的版本不一定是最好的,可能有些bug。

区区安装这种小事我想应该难不住你。安装教程和视频某站上一搜一大把,我就不多提了……

安装好了之后是这样的:

确保你的服务器是在正常工作了:

命令行客户端:

 

建议你选择下面那个,因为这两个编码方式不一样,下面那个使用的是utf-8编码。 

如果你找不到你的客户端,可以找找MySQL的安装目录:

 

 把这个目录复制,粘贴,打开:

找到mysql.exe,但是不要双击,一双击就会闪退。

打开CMD,把它拖过来,输入相关指令,然后再输入密码:

这个密码是你在安装数据库服务器的时候设置的。

如果闪退了,要么服务器没有正常工作,要么就是你的密码输入错误。不要用太复杂的密码,你的数据库非常安全,我想应该没有黑客想要盗取你的数据库吧……

就OK了。

 

 每次从客户端登录都要输密码的。

然后刚刚提到的那个“ "C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql.exe" "--defaults-file=C:\ProgramData\MySQL\MySQL Server 5.7\my.ini" "-uroot" "-p" "--default-character-set=utf8" ” 上述这串命令其实就是运行快捷方式。

内存和外存

我们之前提到,MySQL的本体是服务器,在服务器这边来负责存储和管理数据。

那么它是把数据具体存储在那个设备上呢?

MySQL数据库通常将数据存储在硬盘驱动器(Hard Disk Drive,HDD)或固态硬盘(Solid State Drive,SSD)上。这些存储设备是永久性的,用于持久化地存储数据库的数据。

  • HDD(硬盘驱动器): 传统的机械硬盘驱动器使用旋转磁盘来存储数据,速度相对较慢。它们适合存储大容量的数据,但对于需要快速随机访问的数据库操作来说,性能可能有限。

  • SSD(固态硬盘): 固态硬盘使用闪存存储数据,速度非常快,对于随机访问非常高效。因此,SSD通常用于需要更快读写速度的数据库应用,能够提供更好的性能。

生活中的硬盘、U盘、软盘、光盘其实都算外存。而且如果一个人和你说:“我这个手机是256G内存的!”,实际上这里的内存并不是真正的内存,而是硬盘。手机真正的内存是“运存”。

既然提到外存,那肯定也要了解一下内存咯~

内存(RAM)和硬盘(硬盘驱动器)是计算机中两种不同类型的存储设备,它们在功能和性能方面有着显著的区别。下面是内存和硬盘的主要区别:

内存(RAM - Random Access Memory):

  1. 功能: 内存是计算机用于存储正在运行的程序和数据的临时存储设备。它用于存储当前正在执行的应用程序的代码和数据,以便CPU可以快速访问并执行它们。

  2. 速度: 内存的访问速度非常快,几乎是瞬间级别。这使得它非常适合用于暂时存储需要快速访问的数据。

  3. 临时性: 内存中存储的数据是临时的,通常在计算机关机或重启时会被清除。它不是永久存储设备。

  4. 容量: 内存容量通常相对较小,以GB为单位。它的主要任务是支持当前运行的任务。

硬盘(Hard Disk Drive):

  1. 功能: 硬盘是用于永久性存储数据的设备。它可以存储操作系统、应用程序、文档、多媒体文件等数据,并在计算机关闭时保持数据的持久性。

  2. 速度: 硬盘的访问速度比内存慢得多,通常以毫秒为单位。尽管较新的固态硬盘(SSD)比传统机械硬盘速度更快,但仍然较内存慢。

  3. 持久性: 硬盘中存储的数据是持久的,不会因计算机关机而丢失。

  4. 容量: 硬盘的容量通常远大于内存,以TB(千兆字节)为单位,用于存储大量数据。

关于手机内存和存储的区别,你提到的是正确的。手机通常会有两种存储设备:

  • 运行内存(RAM): 也称为手机的内存,用于暂时存储当前运行的应用程序和数据,以便CPU快速访问。它的容量通常以GB为单位。

  • 存储(Storage): 存储是用于永久性存储数据、操作系统、应用程序和文件的设备,通常是硬盘或闪存。它的容量可以非常大,通常以GB或TB为单位。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring框架中的Resource接口是什么,以及它在加载和访问资源时的关键作用

文章目录 什么是 Resource 接口?使用 Resource 加载资源使用 Resource 访问文件系统资源总结 🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏 ✨收录专栏:Java框架 ✨文章内…

没出息的项目经理的5大表现

大家好,我是老原。 都说,30岁的项目经理凶猛如狼,40岁的项目经理狡猾如狐。 实际上,又有多少项目经理能做到这般。 有多少项目经理,兢兢业业工作个几年,最后还是守着一亩三分地,既没有升职加…

PMP认证可以用来干什么呢?

PMP(项目管理专业人士)认证是一项国际上广为认可的专业认证,具有以下几个重要用途和好处: 1. 提升职业竞争力: PMP认证是项目管理领域具有权威性和声誉的认证之一。持有PMP认证可以证明你具备了相关知识、技能和经验&#xff0c…

【LeetCode75】第五十四题 咒语和药水的成功对数

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 题目给我们两个数组,要我们找出第一个数组中每个元素能和另一个数组的元素匹配的数量。匹配的条件是乘积大于特定的值。 那么…

[SSM]MyBatisPlus拓展

五、拓展篇 5.1逻辑删除 在电商网站中,我们会上架很多商品,这些商品下架以后,我们如果将这些商品从数据库中删除,那么在年底统计商品的时候,这个商品要统计的,所以这个商品信息我们是不能删除的。 如果商城…

LC1798. 你能构造出连续值的最大数目(JAVA)

LC1798. 你能构造出连续值的最大数目 题目描述贪心算法代码演示 题目描述 难度 - 中等 Leetcode - 1798. 你能构造出连续值的最大数目 给你一个长度为 n 的整数数组 coins ,它代表你拥有的 n 个硬币。第 i 个硬币的值为 coins[i] 。如果你从这些硬币中选出一部分硬币…

佛山融资融券(两融)开户利率最低能做到多少?5%!

佛山融资融券(两融)开户利率最低能做到多少?5%! 具体佛山融资融券(两融)开户利率最低能做到多少,需要根据不同的券商政策而定。不同的券商可能具有不同的优惠政策和开户条件,因此开户前应该仔细了解券商的政策和条件。 融资融券是投资者通过证券公司向…

STL stack 和 queue

文章目录 一、stack 类和 queue 类的模拟实现 stack 只允许在一端进行插入删除,是一个后进先出(LIFO)的结构,可以存储任意类型 queue 只允许在一端进行插入,另一端进行删除,是一个先进先出(FIFO)的结构,可以存储任意类…

2023年墨西哥 SP/BMV IPC 研究报告

第一章 指数概况 1.1 指数基本情况 墨西哥 S&P/BMV IPC 指数衡量在墨西哥证券交易所 (Bolsa Mexicana de Valores, BMV)上市,规模最大、流动性最高的股票表现。提供一个覆盖墨西哥股市的广泛、具有代表性且可轻易复制的指数。根据多元化要求,按市值…

SQL12 高级操作符练习(2)

描述 题目:现在运营想要找到学校为北大或GPA在3.7以上(不包括3.7)的用户进行调研,请你取出相关数据(使用OR实现) 示例:user_profile iddevice_idgenderageuniversitygpa12138male21北京大学3.423214male复旦大学4.03…

【c++每天一题】 字符串压缩

字符串压缩 时间限制:C/C 1000MS,其他语言 2000MS 内存限制:C/C 128MB,其他语言 256MB 难度:简单 分数:100 OI排行榜得分:12(0.1*分数2*难度) 描述 给定一个字符串,将连续相同的字符…

Docker实战:docker compose 搭建Rocketmq

1、配置文件准备 1.1、 新建目录:/home/docker/data/rocketmq/conf mkdir /home/docker/data/rocketmq/conf1.2、 在上面目录下新建文件broker.conf文件,内容如下 brokerClusterName DefaultCluster brokerName broker-a brokerId 0 deleteWhen 0…

LeetCode刷题笔记【31】:动态规划专题-3(整数拆分、不同的二叉搜索树)

文章目录 前置知识343. 整数拆分题目描述解题思路代码进一步优化 96.不同的二叉搜索树题目描述解题思路代码优化改进 总结 前置知识 参考前文 参考文章: LeetCode刷题笔记【29】:动态规划专题-1(斐波那契数、爬楼梯、使用最小花费爬楼梯&…

【Spring面试】六、@Autowired、@Configuration、第三方Bean的配置

文章目录 Q1、如何让自动注入没有找到依赖Bean时不报错?Q2、如何让自动注入找到多个依赖的Bean时不报错?Q3、Autowired注解有什么作用?Q4、Autowired和Resource之间的区别Q5、Autowired注解自动装配的过程是怎样的?Q6、Configurat…

idea 无法创建Javaweb项目也无法添加web模块

只有一个原因,就是使用的是社区版的idea,不是专业版的 如果想要idea创建动态的javaweb项目,还得去下载专业版 使用全新的专业版本,就有web模块了

冠达管理:“A股”上热搜,个股普跌!这一概念,逆市掀涨停潮

A股商场和港股商场今天上午再度低位震动,“A股”词条冲上微博热搜。 ​ A股商场方面,主要指数均跌落,创业板指创年内新低,TMT赛道团体走低,拖累商场人气。上午海峡西岸概念板块成为商场最大亮点之一,个股…

使用高斯混合模型进行聚类

一、说明 高斯混合模型 (GMM) 是一种基于概率密度估计的聚类分析技术。它假设数据点是由具有不同均值和方差的多个高斯分布的混合生成的。它可以在某些结果中提供有效的聚类结果。 二、Kmean算法有效性 K 均值聚类算法在每个聚类的中心周围放置一个圆形边…

Neo4j图数据库实践——基于知识图谱方法开发构建猪类养殖疾病问答查询系统

Neo4j是一个开源的、高性能的图形数据库。它被设计用于存储、检索和处理具有复杂关系的大规模数据。与传统的关系型数据库不同,Neo4j使用图形结构来表示数据,其中节点表示实体,边表示实体之间的关系。这使得Neo4j在处理关系密集型数据时非常强…

【GNN 03】PyG

工具包安装: 不要pip安装 https://github.com/pyg-team/pytorch_geometrichttps://github.com/pyg-team/pytorch_geometric import torch import networkx as nx import matplotlib.pyplot as pltdef visualize_graph(G, color):plt.figure(figsize(7, 7))plt.xtic…

企业架构LNMP学习笔记14

默认官方模块: Gzip压缩: 压缩文件,使文件变小了,传输更快了,目前大部分市场浏览器都支持Gzip。 传输的时候省流量。 目的是为了提高用户的加载速度。 #开启gzip压缩 gzip on; #http协议版本 gzip_http_version 1.0…