数据库基础
什么是数据库?
数据库本质上也是一个文件,它是按照特定结构组织在一起的数据的集合!是存储数据、管理数据、组织数据的一套解决方案!
可是存储数据用文件就够了,为什么还要弄个数据库?
主要是因为,如果采用文件来存储数据的话,对于文件的维护需要我们程序员自己来进行,比如当我们想要在文件中查早一个数据时,我们得自己手动编写一个查找逻辑,查找完毕过后,我们还需要自己手动完成文件的关闭工作,我们程序员的维护成不就比较高;而使用数据库来进行维护的话,我们只需要告诉数据库服务端我们需要那些数据或者需要存储那些数据,数据库服务端在接收到我们的请求过后会按照自己维护的数据库结构来给予我们对应响应,对于数据库文件的维护不在需要我们程序员手动维护,这所有的维护工作都由数据库服务端完成,我们只需要等待数据库服务端给予我们响应即可!
主流数据库
- QL Sever: 微软的产品,.Net程序员的最爱,中大型项目。
- Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
- MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电
商,SNS,论坛。对简单的SQL处理效果好。- PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研
究使用,可以免费使用,修改和分发。- SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库
中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的
低,在嵌入式设备中,可能只需要几百K的内存就够了。- H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。
数据库基本使用
连接数据库服务端:
mysql -h ip -P port -u root -p
-h:表示你要连接的数据库服务端部署的服务器的IP地址,如果不带-h:默认数据库服务端部署在本主机上ip地址为本主机回环地址;
-P:数据库服务端的绑定在那个端口上,如果不带-P默认数据库服务绑定3306的端口;
-u:表示以什么身份进行登录mysql客户端,一般用root
-p:表示本次登录需要输入密码;
服务器、数据库、表的关系
- 所谓安装数据库服务器,只是在机器上安装了一个数据管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库!
- 为保存应用中实体数据,一般会在数据库中创建多个表,以保存程序中的实体数据!
- 数据库服务器、数据库、表的关系如下:
数据逻辑存储
数据库的逻辑存储结构可以看作是由一张张表组成的。每张表代表特定类型的护具,包含多个字段来存储不同属性的信息。每一行则代表一个具体的数据记录,我们项数据库插入数据,逻辑上可以认为是向一张表中插入一行数据!
当然这是逻辑结构,底层的物理结构可能与我们的逻辑结构千差万别,但是我们只要知道在逻辑上插入数据是向一个表中插入一行数据即可!
这就好比,一个堆的逻辑结构是一个二叉树,但是实际上底层的数据结构确实一个数组,这就是逻辑结构与物理结构的差异!
MySQL结构
MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、
Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性.
MySQL服务端主要分为四部分
第一部分:主要负责客户端连接的管理和权限认证工作;
第二部分:堆客户端发送过来的SQL语句进行语法分析,词义分析,优化SQL语句;
第三部分:真正办事的部分,具体实现数据的存储、查找、删除工作;
第四部分:将上层数据写入磁盘或者从磁盘读取上来交给用户;(这是OS的文件系统);
总而言之:MySQL服务端就相当于一个在OS的文件系统之上的一个存储解决方案;OS的文件系统只是配合着上层进行写磁盘和读磁盘的工作!
SQL分类
- DDL【data definition language】 数据定义语言,用来维护存储数据的结构
代表指令: create, drop, alter- DML【data manipulation language】 数据操纵语言,用来对数据进行操作
代表指令: insert,delete,update
DML中又单独分了一个DQL,数据查询语言,代表指令: select- DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务
代表指令: grant,revoke,commit
存储引擎
存储引擎位于MySQL架构的第三部分,负责数据的具体存储和管理方案;
不同的存储引擎有着自己独特的数据结构来对数据进行管理和存储,这样我们可以根据实际的应用环境来选择合适的存储引擎来进行数据的管理和存储!
MySQL的核心就是插件式存储引擎,支持多种存储引擎;
查看存储引擎
show engines;
存储引擎对比

相关文章:
数据库基础
什么是数据库? 数据库本质上也是一个文件,它是按照特定结构组织在一起的数据的集合!是存储数据、管理数据、组织数据的一套解决方案! 可是存储数据用文件就够了,为什么还要弄个数据库? 主要是因为ÿ…...
【RocketMQ】安装
文章目录 下载RocketMQ配置环境变量 下载RocketMQ 下载RocketMQ安装包 下载DashBoard 这里版本推荐选择4.9.x,因为比较稳定。 下载完毕之后,将安装包拖入到Linux环境。 之后使用unzip命令解压缩RocketMQ的安装包。 unzip ./rocketmq-all-4.9.2-bin-rel…...
二十二、策略模式
目录 1、项目需求2、传统方案解决鸭子问题的分析和代码实现3、传统方式实现存在的问题分析和解决方案4、策略模式基本介绍5、使用策略模式解决鸭子问题6、策略模式的注意事项和细节7、策略模式的使用场景 以具体项目来演示为什么需要策略模式,策略模式的优点&#x…...
[K8s]问题描述:k8s拉起来的容器少了cuda的so文件
问题解决:需要设置Runtimes:nvidia的同时设置Default Runtimenvidia...
Postman如何做接口测试:什么?postman 还可以做压力测试?
我们都知道, postman 是一款很好用的接口测试工具。不过 postman 还可以做简单的压力测试,而且步骤只需要 2 步。 首先,打开 postman, 编写接口的请求参数。 然后,点击右下方的 runner 运行器,把需要测试的接口拖动到…...
MySQL 自增 ID 默认从 1 开始,如何设置自增 ID 从 0 开始
MySQL 是一种关系型数据库,它是世界上最流行的关系型数据库之一。在 MySQL 中,自增是一种非常有用的功能,它可以自动给主键赋值,并保证每个主键是唯一的。然而,许多人不知道的是,MySQL 默认情况下从 1 开始…...
WebRTC音视频通话-实现iOS端调用ossrs视频通话服务
WebRTC音视频通话-实现iOS端调用ossrs视频通话服务 之前搭建ossrs服务,可以查看:https://blog.csdn.net/gloryFlow/article/details/132257196 这里iOS端使用GoogleWebRTC联调ossrs实现视频通话功能。 一、iOS端调用ossrs视频通话效果图 iOS端端效果图…...
uniapp的UI框架组件库——uView
在写uniapp项目时候,官方所推荐的样式库并不能满足日常的需求,也不可能自己去写相应的样式,费时又费力,所以我们一般会去使用第三方的组件库UI,就像vue里我们所熟悉的elementUI组件库一样的道理,在uniapp中…...
由于找不到msvcp140.dll无法继续执行代码是什么原因
使用计算机过程中,有时会遇到一些错误提示,其中之一就是关于msvcp140.dll文件丢失或损坏的错误。msvcp140.dll是Windows系统中非常重要的文件,是Microsoft Visual C Redistributable中动态链接库的文件,如果缺失或损坏,…...
kafka生产者幂等与事务
目录 前言: 幂等 事务 总结: 参考资料 前言: Kafka 消息交付可靠性保障以及精确处理一次语义的实现。 所谓的消息交付可靠性保障,是指 Kafka 对 Producer 和 Consumer 要处理的消息提供什么样的承诺。常见的承诺有以下三…...
Docker容器:docker基础概述、安装、网络及资源控制
文章目录 一.docker容器概述1.什么是容器2. docker与虚拟机的区别2.1 docker虚拟化产品有哪些及其对比2.2 Docker与虚拟机的区别 3.Docker容器的使用场景4.Docker容器的优点5.Docker 的底层运行原理6.namespace的六项隔离7.Docker核心概念 二.Docker安装 及管理1.安装 Docker1.…...
实验篇——亚细胞定位
实验篇——亚细胞定位 文章目录 前言一、亚细胞定位的在线网站1. UniProt2. WoLFPSORT3. BUSCA4. TargetP-2.0 二、代码实现1. 基于UniProt(不会)2. 基于WoLFPSORT后续(已完善,有关代码放置于[python爬虫学习(一&#…...
【日常积累】HTTP和HTTPS的区别
背景 在运维面试中,经常会遇到面试官提问http和https的区别,今天咱们先来简单了解一下。 超文本传输协议HTTP被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果…...
Qt creator之对齐参考线——新增可视化缩进功能
Qt creator随着官方越来越重视,更新频率也在不断加快,今天无意中发现qt creator新版有了对齐参考线,也称可视化缩进Visualize Indent,默认为启用状态。 下图为旧版Qt Creator显示设置栏: 下图为新版本Qt Creator显示设…...
Go语言之依赖管理
go module go module是Go1.11版本之后官方推出的版本管理工具,并且从Go1.13版本开始,go module将是Go语言默认的依赖管理工具。 GO111MODULE 要启用go module支持首先要设置环境变量GO111MODULE 通过它可以开启或关闭模块支持,它有三个可选…...
【定时任务处理中的分页问题】
最近要做一个定时任务处理的需求,在分页处理上。发现了大家容易遇到的一些"坑",特此分析记录一下。 场景 现在想象一下这个场景,你有一个定时处理任务,需要查询数据库任务表中的所有待处理任务,然后进行处理…...
Vue3 Vuex状态管理多组件传递数据简单应用
去官网学习→安装 | Vuex cd 项目 安装 Vuex: npm install --save vuex 或着 创建项目时勾选Vuex vue create vue-demo ? Please pick a preset: Manually select features ? Check the features needed for your project: (Press <space> to se…...
Beats:安装及配置 Metricbeat (一)- 8.x
在我之前的文章: Beats:Beats 入门教程 (一)Beats:Beats 入门教程 (二) 我详细描述了如何在 Elastic Stack 7.x 安装及配置 Beats。在那里的安装,它通常不带有安全及 Elasticsearc…...
openCV使用c#操作摄像头
效果如下: 1.创建一个winform的窗体项目(框架.NET Framework 4.7.2) 2.Nuget引入opencv的c#程序包(版本最好和我一致) 3.后台代码 using System; using System.Collections.Generic; using System.ComponentModel;…...
Centos 防火墙命令
查看防火墙状态 systemctl status firewalld.service 或者 firewall-cmd --state 开启防火墙 单次开启防火墙 systemctl start firewalld.service 开机自启动防火墙 systemctl enable firewalld.service 重启防火墙 systemctl restart firewalld.service 防火墙设置开…...
Realistic Vision V5.1 模型安全与内容过滤部署指南
Realistic Vision V5.1 模型安全与内容过滤部署指南 如果你正在公司里部署AI图像生成服务,最头疼的问题是什么?除了模型效果和生成速度,恐怕就是内容安全了。你肯定不希望员工或者用户用它生成一些不合规的图片,这不仅可能违反公…...
如何解决健康160抢号难题?智能工具91160-cli让挂号效率提升5倍
如何解决健康160抢号难题?智能工具91160-cli让挂号效率提升5倍 【免费下载链接】91160-cli 健康160全自动挂号脚本 项目地址: https://gitcode.com/gh_mirrors/91/91160-cli 你是否曾遇到预约专家号时页面卡顿,等刷新完成号源已被抢空?…...
MOOTDX:Python通达信数据接口解决方案
MOOTDX:Python通达信数据接口解决方案 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx 在量化投资领域,数据获取与处理始终是从业者面临的核心挑战。个人投资者常常困于复杂…...
Keil开发中printf重定向的常见陷阱与高效配置指南
1. 为什么你的printf在Keil里"装死"? 第一次在Keil里用printf的新手,八成会遇到这样的灵异事件:明明代码逻辑没问题,烧录后串口助手却像黑洞一样安静。我当年调试STM32F103时,整整两天都在和这个"哑巴&…...
数据库课程设计实战:构建文本分割结果的管理系统
数据库课程设计实战:构建文本分割结果的管理系统 每次做数据库课程设计,你是不是也头疼?选题要么太简单,像学生信息管理,做出来感觉没深度;要么太复杂,比如电商系统,光表关系就画晕…...
OpenClaw技能市场巡礼:百川2-13B支持的十大实用插件
OpenClaw技能市场巡礼:百川2-13B支持的十大实用插件 1. 为什么需要技能市场? 第一次接触OpenClaw时,我被它"本地化AI助手"的定位吸引,但很快发现原生功能有限——它能操控鼠标键盘、读写文件,但具体到&quo…...
Linux Docker Compose 部署.NET+Vue+MySQL+Redis+Nginx 完整记录(亲测无坑)
写在前面:为什么用 Docker Compose?比单容器部署好在哪? 做容器化部署时,单靠docker run命令逐个启动 MySQL、Redis、后端、Nginx 容器会非常繁琐 —— 不仅要记大量命令参数,还得手动控制容器启动顺序、配置网络联动…...
基于Coze工作流实现内容智能分发:从公众号到多平台图文一键同步
1. 为什么你需要一个智能内容分发系统 每次写完公众号文章,你是不是也和我一样头疼?要把同样的内容搬运到小红书、抖音、视频号这些平台,每次都要重新排版、改标题、调整图片尺寸,一套流程下来至少得花上两小时。更糟的是…...
res-downloader高效配置指南:全平台资源捕获从入门到精通
res-downloader高效配置指南:全平台资源捕获从入门到精通 【免费下载链接】res-downloader 资源下载器、网络资源嗅探,支持微信视频号下载、网页抖音无水印下载、网页快手无水印视频下载、酷狗音乐下载等网络资源拦截下载! 项目地址: https://gitcode.…...
DanKoe 视频笔记:通用时代崛起:如何通过多种兴趣茁壮成长
在本教程中,我们将探讨为何在当今的“创作者经济”中,拥有广泛兴趣和技能的“通才”比只精通一门的“专家”更具优势。我们将分析背后的原因,并提供一套实用的步骤,帮助你作为一名通才,在数字世界中建立个人品牌、吸引…...




