初识MySQL · 数据库

目录

前言:

数据库

简单使用 + 存储引擎


前言:

本文也是MySQL的第一篇文章了,新的知识点已经出现,怎么能够停止不前,穿越时空……(迪迦奥特曼乱入哈哈哈)。

言归正传,我们在本文的目标有:

1 什么是数据库 2 主流数据库有哪些 3 MySQL的基本使用 4 MySQL的基本架构 5 存储引擎

进入正题吧!


数据库

首先提问,按照常理来说,什么是数据库呢?

不少人想到的一点就是,不就是数据的集合吗?是的,数据库从数据存储方面确实只是数据的集合,但是数据库不只是为了集合数据而存在。

如果是为了集合数据,像我们磁盘中任意的文件,本质上也是集合数据:

这是一种集合数据。

集合完数据之后我们应该干什么呢?单纯为了集合数据肯定不行,我们应该需要某个东西/软件来管理我们的数据,方便我们可以在日常使用,或者是程序处理问题的时候更加方便,效率更高,这个时候,数据库就闪亮登场了。

没错,我们学习的MySQL本质上就是数据库,给我们提供了数据存储的功能以外,还可以提供数据的各方面管理。

那么,提问,我们使用ubuntu登录到MySQL的时候,可是看到了两个东西的:

一个是mysql一个是mysqld,它们所在的目录分别为:

它们是什么关系呢?

这里不卖关子了,mysql是数据库服务的客户端,mysqld是数据库服务的服务端,而我们使用指令netstat也是可以查到mysql的,所以得出结论,是什么

mysql实际上是一种网络服务,而且是一种基于C(mysql)S(mysqld)的网络服务。

那么服务的是什么呢?服务的是数据存取。

所以数据库是:在磁盘或者是内存中以特定结构组成而成的数据,那么数据库服务就是mysqld

那么又是如何服务的呢?

给某种特定的要求,或者某种特定的字段,mysqld直接给结果就可以了。

所以数据库的本质是:对数据内容处理的一种解决方案

以上是对数据库的一些基本理解,我们上文提及的,数据库不只是有一个,目前主流的数据库有的如下:

SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。

Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。

MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电 商,SNS,论坛。对简单的SQL处理效果好。

PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研 究使用,可以免费使用,修改和分发。

SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。

 H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

那么具体的差异就交给同学们自己查阅了,因为MySQL是免费的,所以我们用它来介绍sql语句,而我们有了该数据库的基础,学习其他数据库起来也是十分轻松的了。

而对于MySQL来说,数据库肯定和表拉不开关系,那么对于表的上一层是DB,也就是Database,数据库,对于程序员来说,一般来说都会为不同的软件专门分配不同的数据库,多个数据库中又会创建不同的表,用来保存数据。

这是MySQL,Database,表的基本关系。

说了那么多,我们来简单使用一下。


简单使用 + 存储引擎

我们先登入到MySQL上面:

现在我们MySQL里面有没有数据库我们是不知道的,我们应该先看看,所以show databases:

这里和我们平常使用Linux的命令行有所不同是,我们提供的字段是需要加;的,所以是show databases;

那么我们发现我们目前有的数据库是那4个,我们先不管,先自己添加一个数据库试试:

此时提示创建成功,我们重新看看:

不出意外的话,数据库是多了一个,我们最开始也提到了,

我们使用root权限(注意,这里使用普通用户是进不去的),切换到了root之后,我们进入到/var/lib/mysql,可以发现里面的内容,目录好像有几个是我们才看到的?

那么我们是否可以认为,建数据库的过程就是建立目录的过程呢

答案:是!数据库本质上就是一个一个的目录。

这是一个新认识,那么我们不妨看看我们的数据库里面都有什么:

ubuntu环境下是什么也没有的,但是在Centos的环境下,存在文件dp.opt,里面存储的就是对应的编码格式。

现在,返回到MySQL:

现在我们已经成功切换到了test_mysql里面,那么前文提及,数据库里面都是有表的,所以我们不妨创建一张表:

这里的语法和之前学习Linux或是C++的差别还有点大,所以得多练习。

那么表有了,我们总得插入几个数据吧?

使用指令insert into ...,注意,这里使用的引号用了单引号和双引号,那么使用是否有差别呢?我们后面提及。

此时数据插入完毕,我们使用指令:

select * from student;

成功查询到了我们刚才插入的所有数据。

那么在数据库里面的列和行和平常意义的都是一样的。

这是最最基本的使用。

现在我们来看看MySQL的架构部分,对于最上层的肯定是客户端,我们主要是关系存储引擎部分。

这个存储引擎的特点是热插拔,就像我们平常写了一个类,需要用的时候实例化一个对象就可以了,用完删除即可,这个也是,用的时候激活即可。

MySQL中的存储引擎是数据库管理系统的核心组成部分,它负责数据的存储、检索以及处理。每个存储引擎都有其特定的设计理念和性能特点,常见的就是上面的。

但是实际上平常用的多的也就是InnoDB, MyISAM,具体我们放在后面介绍,这里作为了解即可。 

那么我们查看存储引擎就是show engines:

而我们看Support那一行,InnoDB是default,也就是默认打开的,也可以看出它十分的常用。

以上是对MySQL的粗略介绍,如有不足,请多多指正! 


感谢阅读!

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

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

相关文章

Flink CDC同步mysql数据到doris

前置参考 flink快速安装:Flink入门-CSDN博客 doris快速安装:Apache Doris快速安装-CSDN博客 Flink CDC简介 Flink CDC 是一个基于流的数据集成工具,旨在为用户提供一套功能更加全面的编程接口(API)。 该工具使得用户能…

洞察云上风险,主机安全尽在掌握

在实战攻防演练中,主机一直是攻击方的最终目标。作为网络架构中的重要组成部分,主机包含了大量的敏感数据、关键服务和系统资源。同时主机拥有网络资源的访问权限,攻击者通过入侵主机获得权限,进而控制整个网络或系统。因此做好主…

vue2 Canvas 多边形区域绘制组件封装

效果预览&#xff1a; CanvasBox组件 <!-- 区域设置canvas --> <template><div class"all" ref"divideBox"><!-- <div><button click"test">清空</button></div> --><img id"img"…

Ubuntu中MySQL远程登录设置

mysql单独放在一台Ubuntu服务器上&#xff0c;我远程连接不上。可能是安装的时候忘记设置远程登录了。事后补救措施如下&#xff1a; MySQL 绑定地址配置问题 MySQL 可能只绑定了 localhost&#xff0c;无法接受来自外部主机的连接。你需要检查 MySQL 的配置文件 /etc/mysql/…

使用Vscode配置ftp连接远程服务器(上传本地文件)

1.安装插件 扩展商店搜sftp,点击进行安装。 2.配置json文件 crtl+shift+p 输入ftp配置命令 sftp:config {"name": "My Server", //设置名字"host": "localhost"</

腐蚀膨胀预处理

腐蚀&#xff1a;通过减少前景对象&#xff08;例如白色字符&#xff09;的边缘&#xff0c;腐蚀可以用来减小或消除细小的干扰线。如果干扰线较细&#xff0c;腐蚀可以有效地“消除”这些线条&#xff0c;同时保留较粗的字符。 膨胀&#xff1a;在腐蚀之后&#xff0c;膨胀可…

使用 Logistic Regression 识别手写数字-PyTorch

逻辑回归是一种非常常用的统计方法,它允许我们从一组自变量预测二进制输出。本文之前已经介绍了 Logistic 回归的各种属性及其 Python 实现 。现在,我们将了解如何在 PyTorch 中实现这一点,PyTorch 是由 Facebook 开发的一个非常流行的深度学习库。 现在,我们将了解如何使用…

上门按摩系统开发方案源码搭建

上门按摩系统开发方案 一、项目概述 上门按摩系统是一个连接按摩技师和客户的平台&#xff0c;旨在提供便捷、高效的上门按摩服务。通过该系统&#xff0c;客户可以轻松预约合适的按摩技师&#xff0c;并享受个性化的按摩服务。 二、系统功能模块 用户管理模块&#xff1a;…

TCP——Socket

应用进程只借助Socket API发和收但是不关心他是怎么进行传和收的 数据结构 图示Socket连接 捆绑属于隐式捆绑

Redis非关系型数据库操作命令大全

以下是 Redis 的常用操作命令大全&#xff0c;涵盖了键值操作、字符串、哈希、列表、集合、有序集合、发布/订阅、事务等多个方面的操作。 1. 通用键命令 命令说明SET key value设置指定 key 的值GET key获取指定 key 的值DEL key删除指定的 keyEXISTS key检查 key 是否存在E…

数据驱动时代:五款免费报表工具深度解析

在当今数据驱动的时代&#xff0c;报表工具已经成为各类企业进行决策和管理的重要工具。无论是大中型企业还是小微企业&#xff0c;能够快速、高效地生成可视化报表&#xff0c;洞察业务运营情况&#xff0c;已经成为提升竞争力的关键。今天为大家挑选了5款非常优秀的报表软件&…

Autosar软件组件概述

AUTOSAR中的应用软件设计为独立的软件单元&#xff0c;即软件组件类型&#xff08;SwComponentTypes&#xff09;&#xff0c;封装了相关功能和行为的实现&#xff0c;并通过端口原型&#xff08;PortPrototypes&#xff09;&#xff0c;向外部暴露自己。 AUTOSAR 标准应用了设…

std::setw中文不能对齐的问题

从别的博主那 copy过来 记录下 #include <codecvt> #include <locale>class chs_codecvt : public std::codecvt_byname<wchar_t, char, std::mbstate_t> {public:chs_codecvt() : codecvt_byname("zh_CN.GBK") {} };int encoding_diff(string …

【VUE】封装用户树形选择和部门树形选择控件

用vue实现封装用户树形选择和部门树形选择控件&#xff0c;采用el-tree。方便各个功能模块的使用和以后的开发。 一、封装用户树形选择控件&#xff08;userTree.vue&#xff09; <template><div style"padding: 10px;"><!-- 选择人员对话框 -->…

Java 类,变量,对象

类的声明 1、类的权限访问修饰符&#xff0c;public 缺省 public修涉的&#xff0c;在同包中可以进行访问&#xff0c;在不同包中也可以进行访问&#xff0c;缺省的修饰符只能在同包中进行访问 2、类的成员&#xff1a;属性&#xff0c;属性如何调用&#xff1f;对象.属性 1、权…

日常随笔1--MySQL中添加Redo日志文件的步骤详解

Redo日志是MySQL中重要的事务日志&#xff0c;用于记录事务对数据库进行的修改操作&#xff0c;确保数据库的持久性和恢复能力。本文将详细介绍在MySQL中添加Redo日志文件的步骤&#xff0c;包括设置Redo日志文件大小、位置和数量等。 1. 确认当前Redo日志文件状态 在添加新的…

xtu oj 原根

文章目录 回顾杂思路c 语言代码 回顾 AB III问题 H: 三角数问题 G: 3个数等式 数组下标查询&#xff0c;降低时间复杂度1405 问题 E: 世界杯xtu 数码串xtu oj 神经网络xtu oj 1167 逆序数&#xff08;大数据&#xff09; 杂 有一些题可能是往年的程设的题&#xff0c;现在搬到…

20255 - 中医方剂学 - 考研 - 执业

第1章 总论 1.我国现存最早的记载方剂的医书是&#xff08;&#xff09;( ) [单选] A.《太平圣惠方》 B.《黄帝内经》 C.《五十二病方》 D.《千金要方》 E.《外台秘要》 正确答案: C 2.我国最早的中医经典理论著作是&#xff08;&#xff09;( ) [单选] A.《伤寒杂病论…

Higress 重磅更新:AI 能力全面开源,云原生能力再升级

作者&#xff1a;澄潭、钰诚 新版本简介 Higress 最新的 1.4 版本基于为通义千问&#xff0c;以及多家云上 AGI 厂商客户提供 AI 网关的积累沉淀&#xff0c;开源了大量 AI 原生的网关能力。同时也在 Ingress、可观测、流控等云原生能力上做了全方位升级&#xff1a; AI 能力…

VS code部署Vue项目Demo

在之前已经在IDEA中部署过vue项目demo。本次在上次基础上进行。 IDEA中Vue的安装和使用【window10】_idea安装vue-CSDN博客 步骤一、安装VSCode 双击安装即可 步骤二&#xff1a;检查npm是否安装 步骤三&#xff1a;检查vue是否安装 &#xff08;vue create 项目名 只要在v…