Mysql之数据库基础

🌟 各位看官好,我是 maomi_9526!

🌍 种一棵树最好是十年前,其次是现在!

🚀 今天来学习Mysql的相关知识。

👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更多人哦

1、什么是数据库

在日常软件开发中,数据的存储与管理是一项基础而重要的任务。虽然文件系统也能存储数据,但存在以下问题:

  • 安全性差:文件容易被篡改或丢失

  • 查询效率低:文件不利于数据的快速查询

  • 扩展性差:难以处理海量数据

  • 编程复杂:程序控制文件操作不便

为解决上述问题,专家们设计了数据库系统,它具备高效、安全、可扩展、易于编程控制等优势。 数据库的掌握程度是衡量程序员能力的重要指标之一。

2、主流数据库类型

  1. SQL Server:微软开发,适用于中大型项目,广泛用于.NET平台。

  2. Oracle:甲骨文公司出品,性能强大,适合企业级复杂业务,但并发性相对一般。

  3. MySQL:全球最流行的开源数据库,适合高并发但不复杂的应用,如电商、SNS、论坛。

  4. PostgreSQL:源自加州大学伯克利分校,功能强大,适用于商业、学术用途。

  5. SQLite:轻量级数据库,适合嵌入式系统,占用资源极低。

  6. 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 数据存于内存中,速度极快,断电丢失数据
相关推荐
lbb 小魔仙3 小时前
时序数据库是什么?2026 年五款工业时序数据库横评与场景解析
数据库·时序数据库
零基础1233 小时前
权限管理怎么做?从“资格”与“空间”双维度设计一套可落地的权限体系
java·服务器·数据库
小小龙学IT4 小时前
PostgreSQL 服务端机制与 SQL 实战深度解析:从 MVCC 到查询优化器
数据库·sql·postgresql
l1t4 小时前
DeepSeek总结的DuckDB 从 JSON 字符串到类型化列
数据库·sql·json
codeejun4 小时前
每日一Go·MySQL-7、MySQL 核心原理全景图谱
开发语言·mysql·golang
Raas1004 小时前
AI网关能做调用审计吗?MAI Gateway(魔芋企业级AI网关)实战能力深度解读
java·服务器·网络·数据库·gateway·prompt·企业级产品
foolishlee4 小时前
openGauss同步提交
数据库
minebmw74 小时前
第 04 讲 深入浅出索引(上):B+树索引的数据结构与查询过程
mysql
bksczm4 小时前
MySQL进阶篇之备份(下半篇)
数据库·mysql
计算机就业还在扩大4 小时前
Redis中的setnx是原子性的?
数据库·redis·缓存