MySQL--数据库基础

1. 数据库简介

1.1什么是数据库?

简单来说就是组织和保存数据的应用程序
数据库是20世纪60年代末发展起来的⼀项重要技术,已经成为计算机科学与技术的⼀个重要分⽀。数据库技术主要是⽤来解决数据处理的⾮数值计算问题,数据处理的主要内容是数据的存储、查询、修改、排序和统计等

1.2数据库与之前学的数据结构有啥关系?

数据结构是组织数据的一种方式。
数据库用一些合适的数据结构来组织数据,方便数据的写入与查询。

1.3为什么要使⽤数据库?

对数据进行增删改查

注意:以前学的ArrayList,这个集合也可以保存数据,这种在内存中保存的数据,电脑重启之后就没有的。

数据库中保存的数据,必须要放在一个可以随时访问的存储介质中,数据库保存数据的过程就是数据持久化的过程

数据库的特点:
在这里插入图片描述
在这里插入图片描述

2. 主流数据库

2.1 关系型数据库

  • Oracle:甲⻣⽂产品,适合⼤型项⽬,业内最强的数据库,没有之⼀,需要收费。
  • MySQL:开源免费,最受欢迎的数据库,在中⼩企业中普及率⾮常⾼,属于甲⻣⽂,主要⽤在电商,论坛等。
  • PostgreSQL:加州⼤学伯克利分校计算机系开发的关系型数据库,可以免费使⽤,修改和分发。
  • SQLSever:微软推出的⼀款专业级数据库,与旗下的操作系统,编程环境配合使⽤,适⽤于中⼤型项⽬。
  • SQLite:⼀款轻型的数据库,占⽤资源⾮常低,常⽤于嵌⼊式设备,⼿机APP,桌⾯程序等场景。

什么是关系型数据库

关系型数据库是指采⽤了关系模型来组织数据的数据库,以⾏和列的形式存储数据关系模型可以简单理解为⼆维表格模型,⽽⼀个关系型数据库就是由⼆维表及其之间的关系组成的⼀个数据组织。

在这里插入图片描述

MySQL也可以称为行列数据库

2.2 ⾮关系型数据库

  • Redis:流⾏的基于键值对的内存数据库,常⽤作缓存,⽀持数据持久化,⽀持多种数据结构。
  • MongoDB:基于NoSQL的⽂档型数据库,易扩展,⾼性能,⾼可⽤性,⽀持丰富的查询和聚合操作。

3. 数据库服务器,数据库与表之间的关系

在这里插入图片描述

在这里插入图片描述

1. 其中MySQL数据库本质上就是一个软件
2. DB1以及后面的DB就仅仅是一个个的数据库
3. 每个数据库下维护多个表

以淘宝举例,淘宝==数据库服务相当于一个软件,数据库服务就相当于一个软件app数据库就是存放软件各个不同区域的内容每个数据库中通过多个表格来描述其中存放的信息

4. 客⼾端与服务器的通讯⽅式

C/S架构与B/S架构

  • C/S架构即 客⼾端/服务器 架构模式
  • B/S架构即 浏览器/服务器 架构模式

4.1 CS 架构

C/S 架构全称是客⼾端/服务器(Client/Server)架构,是常⽤的两层架构。客⼾端需要安装客⼾端软件,服务端程序运⾏在服务器上,提供Socket或数据库服务。

使⽤客⼾端与MySQL数据库服务器通讯属于C/S架构
在这里插入图片描述
常⽤于固定⽤⼾群体中。常⻅的C/S架构的应⽤,⽐如QQ,CCTALK,各种⽹络游戏等等,⼀般需要安装并且与服务器进⾏⽹络通信的都属于此类。

优点:

• ⼤部分业务都可以在客⼾端完成,充分利⽤本地的计算机资源
• 响应速度快
• 个性化定制能⼒强
• ⾯向相对固定的⽤⼾群,对信息安全的控制能⼒强

缺点:

• 需要安装客⼾端才能使⽤
• 维护成本⾼,任何⼀台电脑上的客⼾端出现问题都需要进⾏维护,升能过程繁琐

4.2 BS架构

B/S架构全称是浏览器/服务器(Browser/Server)结构,分为Web浏览器、服务器程序、数据库服务三部分,可以理解为是对C/S架构⼀种改进。由于所有的业务逻辑都由服务器程序处理,所以客⼾端仅使⽤浏览器就可以完成所有操作,⼤⼤降低了客⼾端的维护成本。

优点:

  • 客⼾端零维护,只需要安装⼀个浏览器即可
  • 所有业务都集中在服务器端,业务扩展⾮常⽅便
  • 维护成本低,只需要维护服务器即可

缺点:

  • 服务器安全与业务处理能⼒需要花费很⼤精⼒与成本
  • 不同浏览器⽀持不尽⼈意

5. SQL简介

SQL(StructuredQueryLanguage)是结构化查询语⾔的简称,是⼀种数据库查询和程序设计语⾔,⽤于存取数据以及查询、更新和管理关系数据库。(结构化查询语言本身是一套语言,和Java,C平级

SQL分类:

DDL
【Data Definition Language】 数据定义语⾔,⽤来维护存储数据的结构(库和表级别
代表指令:create,drop,alter

DML
【Data Manipulation Language】 数据操纵语⾔,⽤来对数据进⾏操作(行级别
代表指令:insert,delete,update,select

DCL
【Data Control Language】 数据控制语⾔,主要负责权限管理和事务
代表指令:grant,revoke,commit

6. MySQL架构

MySQL8.0服务器是由连接池、服务管理⼯具和公共组件、NoSQL接⼝、SQL接⼝、解析器、优化器、缓存、存储引擎、⽂件系统组成。MySQL还为各种编程语⾔提供了⼀套⽤于外部程序访问服务器的连接器。

整体架构图如下所⽰:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《生成式 AI》课程 第3講 CODE TASK 任务2:角色扮演的机器人

课程 《生成式 AI》课程 第3講:訓練不了人工智慧嗎?你可以訓練你自己-CSDN博客 我们希望你设计一个机器人服务,你可以用LM玩角色扮演游戏。 与LM进行多轮对话 提示:告诉聊天机器人扮演任意角色。 后续输入:与聊天机器人交互。 Part 2: Role…

SpringCloud篇(配置中心 - Nacos)

目录 一、Nacos 配置中心 1. 统一配置管理 1.1. 在nacos中添加配置文件 1.2. 从微服务拉取配置 1.2.1. 引入nacos-config依赖 1.2.2. 添加bootstrap.yaml 1.2.3. 读取nacos配置 1.2.4. 页面访问 2. 配置热更新:两种 2.1. 方式一 2.2. 方式二 3. 配置共享…

Docker 基础命令介绍和常见报错解决

介绍一些 docker 可能用到的基础命令,并解决三个常见报错: 权限被拒绝(Permission Denied)无法连接到 Docker 仓库(Timeout Exceeded)磁盘空间不足(No Space Left on Device) 命令以…

js识别二维码

需要下载的js文件:https://download.csdn.net/download/impossible1994727/90001718https://download.csdn.net/download/impossible1994727/90001718 或者直接复制也行: var _aa {}; _aa._ab function (f, e) { var d qrcode.width; var b qrcode…

Uniapp踩坑input自动获取焦点ref动态获取实例不可用

前言 大家好我是没钱的君子下流坯,用自己的话解释自己的知识。很久很更新了,这几个月一直在加班,今天记录一个uniapp关于input中focus()方法自动获取焦点的坑。 案例 为了实现一个手机验证码的页面,验证码是五个输入框&#xf…

GA/T1400视图库平台EasyCVR视频融合平台HLS视频协议是什么?

在数字化时代,视频监控系统已成为保障安全、提升效率的关键技术。EasyCVR视频融合云平台,作为TSINGSEE青犀视频在“云边端”架构体系中的重要一环,专为大中型项目设计,提供了一个跨区域、网络化的视频监控综合管理系统平台。它不仅…

文献解读-DNAscope: High accuracy small variant calling using machine learning

关键词:基准与方法研究;基因测序;变异检测; 文献简介 标题(英文):DNAscope: High accuracy small variant calling using machine learning标题(中文):DNAsc…

每日一博 - Java的Shallow Copy和Deep Copy

文章目录 概述创建对象的5种方式1. 通过new关键字2. 通过Class类的newInstance()方法3. 通过Constructor类的newInstance方法4. 利用Clone方法5. 反序列化 Clone方法基本类型和引用类型浅拷贝深拷贝如何实现深拷贝1. 让每个引用类型属性内部都重写clone()方法2. 利用序列化 概述…

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-25

文件下载与邀请翻译者 学习英特尔开发手册,最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册,会是一件耗时费力的工作。如果有愿意和我一起来做这件事的,那么&#xff…

Odoo :一款免费开源的日化行业ERP管理系统

文 / 开源智造Odoo亚太金牌服务 概述 构建以 IPD 体系作为核心的产品创新研发管控体系,增进企业跨部门业务协同的效率,支撑研发管控、智慧供应链、智能制造以及全渠道营销等行业的场景化,构筑行业的研产供销财一体化管理平台。 行业的最新…

【Golang】——Gin 框架中间件详解:从基础到实战

中间件是 Web 应用开发中常见的功能模块,Gin 框架支持自定义和使用内置的中间件,让你在请求到达路由处理函数前进行一系列预处理操作。这篇博客将涵盖中间件的概念、内置中间件的用法、如何编写自定义中间件,以及在实际应用中的一些最佳实践。…

计算机网络 (3)计算机网络的性能

一、计算机网络性能指标 速率: 速率是计算机网络中最重要的性能指标之一,它指的是数据的传送速率,也称为数据率(Data Rate)或比特率(Bit Rate)。速率的单位是比特/秒(bit/s&#xff…

云原生之运维监控实践-使用Telegraf、Prometheus与Grafana实现对InfluxDB服务的监测

背景 如果你要为应用程序构建规范或用户故事,那么务必先把应用程序每个组件的监控指标考虑进来,千万不要等到项目结束或部署之前再做这件事情。——《Prometheus监控实战》 去年写了一篇在Docker环境下部署若依微服务ruoyi-cloud项目的文章,当…

【C++】类中的“默认成员函数“--构造函数出现的意义?拷贝构造时“无穷递归”和“双重释放”出现的原因?

目录 "默认"成员函数 概念引入: 一、构造函数 问题引入: 1)构造函数的概念 2)构造函数实例 3)构造函数的特性 4)关于默认生成的构造函数 (默认构造函数) 默认构造函数未完成初始化工作实例: 二…

fastapi 调用ollama之下的sqlcoder模式进行对话操作数据库

from fastapi import FastAPI, HTTPException, Request from pydantic import BaseModel import ollama import mysql.connector from mysql.connector.cursor import MySQLCursor import jsonapp FastAPI()# 数据库连接配置 DB_CONFIG {"database": "web&quo…

基于微信小程序的乡村研学游平台设计与实现,LW+源码+讲解

摘 要 信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自…

基于Java Springboot城市交通管理系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术:Html、Css、Js、Vue、Element-ui 数据库:MySQL 后端技术:Java、Spring Boot、MyBatis 三、运行环境 开发工具:IDEA/eclipse 数…

手机直连卫星NTN通信初步研究

目录 1、手机直连卫星之序幕 2、卫星NTN及其网络架构 2.1 NTN 2.2 NTN网络架构 3、NTN的3GPP标准化进程 3.1 NTN需要适应的特性 3.2 NTN频段 3.3 NTN的3GPP标准化进程概况 3.4 NTN的3GPP标准化进程的详情 3.4.1 NR-NTN 3.4.1.1 NTN 的无线相关 SI/WI 3.4.1.2…

基本数据类型和包装类型的区别、缓存池、自动拆箱装箱(面试题)

目录 1. 八种基本类型及对应包装类型 2. 基本类型和包装类型 区别 3. 自动拆箱装箱 3.1 自动装箱 3.2 自动拆箱 3.3 缓存池 4. 高频面试案例分析 1. 八种基本类型及对应包装类型 基本数据类型类型描述范围(指数形式)位数包装类型byte整型&#x…

Aria2-CVE-2023-39141漏洞分析

前言: 在偶然一次的渗透靶机的时候,上网查询Aria2的历史漏洞,发现了这个漏洞,但是网上并没有对应的漏洞解释,于是我就就源代码进行分析,发现这是一个非常简单的漏洞,于是发这篇文章跟大家分享一…