欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 科技 > 能源 > 【MySQL】数据库基础

【MySQL】数据库基础

2025/4/2 3:01:25 来源:https://blog.csdn.net/m0_75256358/article/details/146679685  浏览:    关键词:【MySQL】数据库基础

前言

数据库是一个开发程序员必须要具备的一项技能,本期开始我们学习目前世界上最流行的数据库 ---- MySQL,等学完了MySQL再去学习其他的如 oracle、mongoDB、redis等成本会小很多。

目录

前言

一、什么是数据库

1.1 数据库的定义与本质

1.2 数据的分类

二、MySQL的基本使用

2.1 MySQL的本质

 2.2 连接服务器

2.3 MySQL的使用案例

2.4 服务器、数据库、表的关系

三、MySQL架构

四、SQL分类

五、存储引擎

5.1 查看存储引擎

5.2 存储引擎对比


一、什么是数据库

1.1 数据库的定义与本质

数据库是一款对数据进行存储和管理的服务类软件。它通过磁盘或内存,利用特定的数据结构和数据模型(如关系型、文档型、键值型)对数据进行组织和管理。

数据库的本质 提供了一套高效、可靠的 数据存取解决方案

有了文件为啥还会有数据库?

文件虽然可以存储数据了,但是在数据的管理方面有明显的局限性。主要如下:

1、文件不利于数据的查询和管理

2、文件不利于存储海量的数据

3、文件在操作过程中存在安全问题

1.2 数据的分类

按照数据模型可以将数据库分为:关系型数据库和非关系型数据库

关系型数据库有:MySQL、Oracle、SQL Server

  • MySQL:开源关系型数据库,广泛应用于Web应用和中小型系统。

  • Oracle:商业关系型数据库,功能强大,适用于大型企业和高并发场景。

  • SQL Server:微软的关系型数据库,与Windows平台集成紧密,适合企业级应用

非关系型数据库有:MongoDB、Redis、Neo4j

  • 文档型数据库:以文档(如JSON或BSON格式)存储数据,适合存储复杂、半结构化数据。

    • MongoDB:流行的文档型数据库,支持动态查询和高扩展性,广泛用于Web应用。

  • 键值型数据库:以键值对的形式存储数据,适合存储简单的、结构化程度较低的数据。

    • Redis:高性能的键值存储数据库,常用于缓存、会话管理和实时数据处理。

  • 图数据库:以图结构存储数据,适合处理复杂关系和网络数据。

    • Neo4j:流行的图数据库,广泛用于社交网络分析、推荐系统等。

我们这里主要学习的就是世界上最受欢迎的数据库 ---- MySQL


二、MySQL的基本使用

2.1 MySQL的本质

在安装MySQL时会安装两个东西:mysql mysqld

这两个又是啥呢?其实要理解他两,我们得先理解MySQL整体是啥。

MySQL 本质是一套基于 CS 模式的 提供可靠的数据存取的 网络服务程序。

mysql 是数据库服务的 客户端

mysqld 是数据库服务的 服务端

 2.2 连接服务器

在命令行输入如下指令:

mysql -h host_ip -P host_port -u username -p

选项解释

  • -h:指定登录部署了 mysql 服务的主机,如果不写 -h 127.0.0.1 则默认是连接本地;
  • -P:指定要访问的端口号,如果不写 -P 3306 则默认是连接 3306 的端口号。
  • -u:指定登录用户,默认为 root。
  • -p:表示需要输入密码。

注意:因为当前这里没有进行用户的管理操作,所以登录时不用输密码,后期专门在用户管理的那一期处理,现在一开始先把MySQL用起来。

2.3 MySQL的使用案例

注意

1、以下工作实际都是mysql(客户端)让mysqld(服务端)做的。

2、我们这里先是见一见MySQL的基本操作,后面会详细的介绍。

• 创建数据库

create database db_name;

• 查看数据库

show databases;

• 删除数据库

drop database db_name;

• 使用数据库

use db_name;

• 创建数据库表

create table 表名(字段1 字段1类型, 字段2 字段2类型, 字段n 字段n 类型);

在表中插入数据

insert into 表名(字段名1, 字段名2, ..., 字段n) values(值1, 值2..., 值n);

• 查询表中数据

select * from 表名;

注意:这里是查询表中的所有数据。

2.4 服务器、数据库、表的关系

• 所谓安装数据库服务,只是在机器上安装一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对一个应用创建一个数据库

• 为了保存应用中的实体数据,一般会在数据库中创建多个表,以保存程序中实体的数据

• 数据库服务器,数据库和表,三者的关系如下:

三、MySQL架构

• MySQL是一个可移植的数据库,几乎能在当前所有的操作系统上运行。

• 各种系统在底层实现方面各有不同,但是MySQL基本上能保证在各个平台上的物理体系结构的一致性。

MySQL的架构整体分为三层:

第一层 (数据库连接池这层):在这一层 MySQL 的主要工作是分别,用户管理、鉴别用户的合法身份、保证安全。
第二层 (SQL 接口组件所在的这层):主要对客户端下达过来的 SQL 语句进行词法分析、语法分析、对 SQL 语句做一定程度优化。
第三层 (InnoDB 这层):有不同的存储引擎,接收从上层转化调优后的 SQL 语句,再对这些语句进行解释,访问指定的数据库或表结构。


四、SQL分类

• DDL(data defintion language)数据定义语言,用来维护存储数据的结构

达标指令:create、drop、alter

• DML(data manpulation language)数据操纵语言,用来对数据进行操作

代表指令:insert、delete、updata

DML中有单独分了一个DQL,数据查询语言,代表指令:select

• DCL(data control language)数据控制语言,主要负责权限管理和事务

代表指令:grant、revoke、commit

五、存储引擎

存储引擎是:数据库管理系统如何存储数据,如何为存储数据建立索引和如何更新、查询数据等技术的实现方法。(类似于OS的驱动层)

MySQL 的核心就是插件式的存储引擎,支持多种存储引擎。

5.1 查看存储引擎

5.2 存储引擎对比

• 在 MySQL 中最常见的存储引擎是 MyISAM 和 InnoDB,其中 InnoDB 占到了 80% 以上。


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词