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 数据存于内存中,速度极快,断电丢失数据
相关推荐
爱掘金的土拨鼠2 小时前
国产化dm数据库锁表解锁
数据库
花花无缺2 小时前
MySQL 的存储引擎-InnoDB 和 MyISAM的对比
mysql
苏琢玉2 小时前
如何让同事自己查数据?写一个零依赖 PHP SQL 查询工具就够了
mysql·php
庖丁解java2 小时前
N个Utils
数据库
Mr. zhihao2 小时前
SQL LEFT JOIN 与 WHERE 条件的隐藏坑
数据库·sql
2301_793086872 小时前
Redis 04 Reactor
数据库·redis·缓存
Sais_Z3 小时前
ClickHouse的学习与了解
数据库·clickhouse
代码的余温3 小时前
MySQL性能优化:10个关键参数调整指南
数据库·mysql·性能优化
silver98864 小时前
sql链接的url中serverTimezone的作用
数据库·sql
tanxiaomi4 小时前
数据库索引视角:对比二叉树到红黑树再到B树
数据结构·数据库·b树