Bootstrap

【MySQL】数据库基础

在这里插入图片描述

安装MySQL

在MySQL之前,我们先查看一下电脑上有没有数据库。

ps axj | grep mysql

在这里插入图片描述
在我的云服务器上就存在MySQL,如果电脑上没有数据库,可以用下面指令安装:
以为的Ubuntu云服务器为例:

sudo apt update
sudo apt install mysql-server -y

安装完成之后,先免密码登录:

sudo mysql -uroot

进入MySQL之后我们设置密码:

alter user 'root'@'localhost' identified with mysql_native_password by 'your_new _password';

后面的your_new_passworld是你的新密码。

注意:上面的操作是在root用户环境下进行的


做完上面这些之后,我们用quit操作退出MySQL,然后用下面命令进行登录:

mysql -u root -p

输入密码之后就进入了mysql。


数据库基础

什么是数据库

数据库是存储和管理数据的系统,能够高效地存取、更新和管理数据。数据库通常用于存储结构化数据,如用户信息、订单记录、日志等。

为什么文件也可以存储数据,但是我们还是要用数据库来存储数据?

原因是因为数据库有很多文件没有的功能,数据库可以通过特定的格式结构来高效的管理数据,在查询方面,文件只能由程序员进行操作遍历,数据库在查找方面做了优化,可以减少很多不必要的操作。


我们之前看到的mysql和mysqld有什么区别?
在这里插入图片描述


mysql是数据库服务的客户端,mysqld是数据库服务服务器端。

在这里插入图片描述
在这里插入图片描述

可以理解为上面简图mysql发出命令之后,mysqld会对数据库文件进行操作。

在数据库中创建一张表

首先创建创建之前,我们先来解释一下打开mysql的命令行的意思
在这里插入图片描述
进入MySQL当中:
在这里插入图片描述
在创建表之前,我们先查看资源:
在这里插入图片描述

可以看见,我们这里已经有几张表。
我们重新创建一张表:
在这里插入图片描述
如果显示no database selected,就表示我们还没有选择数据库。
我们先创建一个新的数据库文件:
在这里插入图片描述

可以看见这里已经创建好了一个数据库。
创建好新的数据库之后我们可以选择新创建的数据库:
在这里插入图片描述
创建表成功
在这里插入图片描述
插入数据:

insert into student(name,age,gender) value("zhangsan",11,'M')

在这里插入图片描述
查看表结构:
在这里插入图片描述

我们还可以重复插入几组数据:
在这里插入图片描述

主流数据库

  • SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。
  • Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
  • MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电
    商,SNS,论坛。对简单的SQL处理效果好。
  • PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研
    究使用,可以免费使用,修改和分发。
  • SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库
    中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的
    低,在嵌入式设备中,可能只需要几百K的内存就够了。
  • H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

服务器,数据库,表的关系

  • 所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多
    个数据库,一般开发人员会针对每一个应用创建一个数据库。
  • 为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
  • 数据库服务器、数据库和表的关系如下:

在这里插入图片描述

MySQL架构

在这里插入图片描述
MySQL架构分为四层:

  1. 连接层:最上层是一些客户端和连接服务,所包含的服务并不是MySQL所独有的技术。
  2. 服务层:主要完成大多数的和核心功能,所有跨存储引擎的功能也在这一层,还有sql的分析和优化及部分内置函数的执行也在这一层。
  3. 引擎层:在存储引擎层,存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API与存储引擎通信。
  4. 存储层:数据存储层,主要将数据存储在运行于裸设备的文件系统上,并完成与存储引擎的交互。

存储引擎对比

在这里插入图片描述

查看存储引擎
在这里插入图片描述

总结

本篇文章中,我们介绍了 MySQL 的基础知识,包括 MySQL 的安装、数据库的基本概念、创建表、主流数据库类型、服务器与数据库的关系、MySQL 的架构以及存储引擎的对比。
通过学习这些内容,你应该对 MySQL 有了初步的认识,并掌握了基本的数据库操作。MySQL 作为一种强大且广泛使用的数据库管理系统,在开发和数据管理中起着至关重要的作用。
后续学习可以深入探索 SQL 语句优化、事务管理、索引设计、主从复制 等更高级的 MySQL 技术,以提升数据库性能和应用能力。希望本篇文章对你有所帮助!

;