当前位置: 首页 > backend >正文

MySQL 数据库基础

目录

一、什么是数据

二、主流数据库

三、基本使用 

1、连接服务器

2、服务器管理 

3、服务器,数据库,表关系

4、数据库的使用

(1)创建数据库

(2)使用数据库

(3) 创建数据库表

(4)表中插入数据

四、MySQL架构 

五、SQL 语句分类 

六、存储引擎

1、存储引擎

2、查看存储引擎

3、存储引擎对比 


一、什么是数据

存储数据用文件就可以了,为什么还要弄个数据库?

一般的文件确实提供了数据的存储功能,但是文件并没有提供非常好的数据(内容)的管理能力(用户角度)。

文件保存数据有以下几个缺点:

  • 文件的安全性问题
  • 文件不利于数据查询和管理
  • 文件不利于存储海量数据
  • 文件在程序中控制不方便 

数据库的本质:对数据内容存储的一套解决方案,mysql 客户端给我字段或者要求,我直接给 mysql 客户端结果就行。(“我”:在磁盘上存储的数据库文件 + mysql 客户端)

数据库存储介质:

  • 磁盘
  • 内存

为了解决上述问题,专家们设计出更加利于管理数据的东西 —— 数据库,它能更有效的管理数据。数据库的水平是衡 量一个程序员水平的重要指标

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

  • mysql 本质:基于 C(mysql) S(mysqld) 模式的一种网络服务

(可以查看到 mysql 所绑定的端口号:3306)

mysql 是一套提供数据存取的服务的网络程序。

口语上:

数据库特指:在磁盘或者内存中存储的特定结构组织的数据 -- 将来在磁盘上存储的一套数据库方案

数据库服务:mysqld

二、主流数据库

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

三、基本使用 

1、连接服务器

输入:

mysql -h 127.0.0.1 -P 3306 -u root -p (密码)

登陆选项的认识: 

输出:

注意:

  • 如果没有写 -h 127.0.0.1 默认是连接本地。
  • 如果没有写 -P 3306 默认是连接 3306 端口号。

2、服务器管理 

执行 win+r 输入 services.msc 打开服务管理器

通过下图左侧停止,暂停,重启动按钮进行服务管理


3、服务器,数据库,表关系

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

4、数据库的使用

使用 mysql 建立一个数据库,建立一张表结构,插入一些数据 -- 对比一下 mysql 在 Linux 中是如何表现的。

  1. 建立数据库,本质就是 Linux 下的一个目录。
  2. 在数据库内建立表,本质就是在 Linux 下创建对应的文件即可。

以上工作是 mysqld 服务做的。

注意

数据库的本质也是文件。只不过这些文件并不由程序员直接操作,而是由数据库服务帮我们进行操作。

(1)创建数据库

create database xxx //想创建的数据库名称

(2)使用数据库

use xxx //使用该数据库的名称

(3) 创建数据库表

(4)表中插入数据

四、MySQL架构 

MySQL 是一个可移植的数据库,几乎能在当前所有的操作系统上运行,如 Unix/Linux、 Windows 、 Mac 和 Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。

五、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

六、存储引擎

1、存储引擎

存储引擎:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。

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

2、查看存储引擎

show engines;

3、存储引擎对比 

http://www.xdnf.cn/news/6255.html

相关文章:

  • 右值引用的学习
  • cGAS-STING通路
  • 线程同步机制
  • GO 小游戏在线试水
  • UE中:puerts使用指南(持续更新)
  • 服务器时间发生跳变导致hghac中对应主机状态频繁切换为crash或stop
  • 从Transformer到多模态智能,剖析人工智能时代的核心引擎​​
  • Linux服务之lvs集群与dr模式部署
  • Xsens发布专为生物力学打造的全新人体模型
  • centos6.10在Macbook m芯片上使用
  • Android 设置系统默认通话应用,打不开通话界面
  • VSCode python配置
  • 数据结构第七章(二)-树形查找:二叉排序树与平衡二叉树
  • Virtualized Table 虚拟化表格 el-table-v2 表头分组 多级表头的简单示例
  • 编程的本质, 就是创造工具
  • 【网工第6版】第10章 网络规划和设计②
  • Linux 中 open 函数的本质与细节全解析
  • 【爬虫】DrissionPage-2
  • 《低代码AI革命:技术平权的曙光还是数字封建的陷阱?》
  • 鸿蒙OSUniApp 制作动态加载的瀑布流布局#三方框架 #Uniapp
  • 2025 年主流 Java 框架解析与实践:构建高性能 Web 应用
  • Go语言八股之Mysql基础详解
  • 刷题记录(4)数组元素相关操作
  • 【网络实验】-BGP-EBGP的基本配置
  • 【CTFShow】Web入门-信息搜集
  • Python 接入DeepSeek
  • Redis持久化存储
  • 软件测试--入门
  • unity 鼠标更换指定图标
  • MongoDB 的核心概念(文档、集合、数据库、BSON)是什么?