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 数据存于内存中,速度极快,断电丢失数据
相关推荐
一嘴一个橘子9 分钟前
MySqL 的 B+树、 叶子节点、非叶子节点
mysql
麦聪聊数据14 分钟前
企业数据市场建设(三):API 化服务封装,让数据开箱即用、避免重复开发
数据库
麦聪聊数据26 分钟前
企业数据市场建设(四):流程闭环与价值运营,让数据市场真正转起来
运维·数据库
正儿八经的少年32 分钟前
redis 的大 key 和热 key 详解
数据库·redis·缓存
AI砖家36 分钟前
多智能体系统实战:架构设计、数据库表设计与 Skill 体系
数据库·多智能体·skill·agent架构设计·agengt
夜雪一千1 小时前
MySQL查询条件的顺序是否影响查询效率
数据库·mysql
X-⃢_⃢-X1 小时前
十、Redis之布隆过滤器
数据库·redis·缓存
Nturmoils1 小时前
订单号查出了三笔,我以为是数据脏了,其实是自己写错了
数据库
ZKNOW甄知科技1 小时前
燕千云深度集成飞书:以AI之力,开启无感IT运维体验
大数据·运维·网络·数据库·人工智能·低代码·集成学习
WWJA王文举1 小时前
单片机参数如何掉电保存:Flash、EEPROM和配置存储完整设计
数据库·stm32·mongodb·c#