🌟 各位看官好,我是 maomi_9526!
🌍 种一棵树最好是十年前,其次是现在!
🚀 今天来学习Mysql的相关知识。
👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更多人哦
1、什么是数据库
在日常软件开发中,数据的存储与管理是一项基础而重要的任务。虽然文件系统也能存储数据,但存在以下问题:
-
安全性差:文件容易被篡改或丢失
-
查询效率低:文件不利于数据的快速查询
-
扩展性差:难以处理海量数据
-
编程复杂:程序控制文件操作不便
为解决上述问题,专家们设计了数据库系统,它具备高效、安全、可扩展、易于编程控制等优势。 数据库的掌握程度是衡量程序员能力的重要指标之一。
2、主流数据库类型
-
SQL Server:微软开发,适用于中大型项目,广泛用于.NET平台。
-
Oracle:甲骨文公司出品,性能强大,适合企业级复杂业务,但并发性相对一般。
-
MySQL:全球最流行的开源数据库,适合高并发但不复杂的应用,如电商、SNS、论坛。
-
PostgreSQL:源自加州大学伯克利分校,功能强大,适用于商业、学术用途。
-
SQLite:轻量级数据库,适合嵌入式系统,占用资源极低。
-
H2:基于Java开发的嵌入式数据库,可嵌入到Java应用程序中。
3、MySQL 基本使用
3.1 安装
-
Linux(CentOS):可通过编译源码或使用yum安装MariaDB
-
Windows:提供图形化安装界面,适合初学者
3.2 连接数据库
mysql -h 127.0.0.1 -P 3306 -u root -p
-
若省略
-h
,默认连接本地 -
若省略
-P
,默认使用3306端口
3.3 服务器管理
- Windows下可通过运行
services.msc
打开服务管理器进行启动、停止、重启操作
3.4 数据库结构
数据库系统由三部分组成:
-
数据库服务器:运行数据库程序的主机
-
数据库:一个逻辑数据集合,通常一个项目对应一个数据库
-
表:保存实体数据的基本结构单元
3.5 示例操作
create database helloworld;
use helloworld;
create table student(
id int,
name varchar(32),
gender varchar(2)
);
insert into student (id, name, gender) values (1, '张三', '男');
insert into student (id, name, gender) values (2, '李四', '女');
insert into student (id, name, gender) values (3, '王五', '男');
select * from student;
4、MySQL 架构
MySQL 是跨平台数据库,支持 Unix/Linux、Windows、MacOS 等多种操作系统。尽管底层实现不同,但在各平台上保持一致的逻辑架构。

5、SQL 语言分类
分类 | 说明 | 示例 |
---|---|---|
DDL | 数据定义语言,用于定义数据结构 | create , drop , alter |
DML | 数据操作语言,用于增删改数据 | insert , update , delete |
DQL | 数据查询语言,DML的子集 | select |
DCL | 数据控制语言,用于权限控制与事务处理 | grant , revoke , commit |
6、MySQL 存储引擎
6.1 概念
存储引擎是指数据库系统中处理数据的底层实现方式,包括数据的存储、索引方式及查询机制等。
6.2 特点
MySQL 采用插件式存储引擎设计,支持多种存储引擎(如 InnoDB、MyISAM 等),可根据业务需求灵活选择。
6.3 查看支持的引擎
show engines;
6.3 常见存储引擎对比
引擎 | 特点 |
---|---|
InnoDB | 支持事务、行级锁、崩溃恢复,是默认引擎 |
MyISAM | 查询快但不支持事务,表级锁 |
Memory | 数据存于内存中,速度极快,断电丢失数据 |