MySQL 入门到实战:从基础概念到核心存储引擎

一、数据库基础

1.1 什么是数据库

简单来说,数据库就是一个结构化存储和管理数据的 "数据仓库",它能帮我们高效地存储、查询、修改和管理数据,解决了传统文件存储的诸多痛点:

  • 文件存储的问题:数据分散、查询效率低、不支持并发访问、难以保证数据安全和一致性;
  • 数据库的优势:结构化存储、支持复杂查询、事务保证数据一致性、权限控制保障数据安全、可应对高并发场景。

我们常说的数据库,大多指关系型数据库(数据以表格形式存储,表之间通过关系关联),也是 MySQL 所属的类别,后面的学习都会围绕这个类型展开。

1.2 主流数据库介绍

目前市面上主流的数据库分为关系型和非关系型两大类,我们重点聊聊 Web 开发中最常见的几款:

类型 代表数据库 特点与适用场景
关系型数据库 MySQL 开源免费、社区活跃、跨平台、性能优异,是中小企业和互联网项目的首选,也是我们今天的主角
关系型数据库 PostgreSQL 开源、功能强大,支持复杂查询和高级特性,适合对数据一致性要求高的场景
关系型数据库 Oracle 商用数据库,性能和稳定性极强,适合大型企业、金融等核心业务场景
非关系型数据库 Redis 内存数据库,以键值对存储,读写速度极快,常用于缓存、会话存储
非关系型数据库 MongoDB 文档型数据库,适合存储非结构化数据,如日志、用户行为数据

而 MySQL 凭借开源免费、轻量高效、生态完善的优势,成为了 Web 开发的 "标配" 数据库,也是我们学习后端开发绕不开的核心技能。

1.3 MySQL 基本使用

1.3.1 连接 MySQL 服务器

安装完成后,我们需要连接 MySQL 服务器才能操作数据,打开终端 / 命令提示符,输入以下命令:

注意: 如果没有写**-h 127.0.0.1** 默认是连接本地;如果没有写**-P 3306** 默认是连接3306端口号

1.3.2理解mysql

1.mysql是数据库服务的客服端

2.mysqld是数据库服务的服务器端

3.mysql本质是基于C(mysql)S(mysqld)模式的一种网络服务

1.mysql是一套给我们提供数据存取服务的网络程序

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

3.数据库服务----mysqld

1.3.3使用案例---见一见数据库

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

建立数据库:

cpp 复制代码
create database helloworld;

使用(进入)数据库:

cpp 复制代码
use helloworld;

创建数据库表:

cpp 复制代码
mysql> create table student(
    -> name varchar(32),
    -> age int,
    -> gender varchar(2)
    -> );

表中插入数据:

cpp 复制代码
mysql> insert into student (name,age,gender) values ('cqw',19,'女');

查询表中的数据:

cpp 复制代码
select * from student;

1.3.4服务器,数据库,表之间的关系

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

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

1.3.5数据逻辑存储

1.4MySQL架构

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

1.5 SQL分类

DDL【data definition language】 数据定义语言,用来维护存储数据的结构

代表指令: create, drop, alter

DML【data manipulation language】 数据操纵语言,用来对数据进行操作 ;DML中又单独分了一个DQL,数据查询语言,代表指令: select

代表指令: insert,delete,update

DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务

代表指令: grant,revoke,commit

1.6存储引擎

1.6.1存储引擎

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

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

1.6.2查看储存引擎

cpp 复制代码
show engines;

1.6.3 存储引擎对比

大部分情况下我们使用的都是MyISAM和InnoDB

相关推荐
IT邦德1 小时前
Oracle 26ai 首发季度补丁 23.26.2.0.0 来了!单机版升级
数据库·oracle
yoyo_zzm1 小时前
Laravel10.x新特性全解析
数据库·mysql·架构
许彰午2 小时前
CacheSQL(五):桥接篇
java·数据库·缓存·系统架构
七夜zippoe2 小时前
# DolphinDB分区策略:RANGE分区详解
数据库·策略·分区·range·dolphindb
地球资源数据云2 小时前
中国陆地生态系统主要植物功能特征空间分布数据
大数据·数据库·人工智能·机器学习
吠品2 小时前
高性能JS数组操作:何时选用push、unshift、splice或扩展运算符?
linux·服务器·数据库
洛水水2 小时前
【Redis入门】一篇详解Redis五大数据结构
数据结构·数据库·redis
woodykissme2 小时前
日产汽车花键测绘,为什么总踩坑?
数据库·汽车·齿轮·渐开线花键
雨辰AI3 小时前
从 MySQL 迁移至人大金仓 V9 完整改造指南|分页 / 函数 / 语法兼容全部解决
java·开发语言·数据库·后端·mysql·政务