news 2026/7/18 19:00:16

MySQL数据库基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL数据库基础

文章目录

  • 数据库基础
    • 1.什么是数据库
    • 2.主流数据库
    • 3.MySQL数据库是什么?
    • LInux下数据库的本质
  • 一、MySQL的基本使用
    • 连接服务器
    • 服务器、数据库、表关系
    • 使用demo
  • 二、MySQL架构
    • SQL分类
    • 存储引擎

数据库基础

1.什么是数据库

在LInux系统下,文件就能够存储数据,为什么还需要数据库来专门存放数据呢?

  • 一般的文件确实提供了数据的存储功能,但在用户角度来看,文件并没有提供非常好的数据管理能力。如进行数据查找时需要遍历整个文件,效率低下,且存在安全问题。
  • 数据库能更有效的管理数据----提供了一套对数据内容存储管理的解决方案。

2.主流数据库

  • SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目
  • Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑,并发一般来说不如MySQL。
  • MySQL:世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。
  • SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
  • H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

3.MySQL数据库是什么?

  • mysql是一套给我提供数据存取的服务的网络程序
  • 数据库一般指在磁盘或者内存中存储的特定结构组织的数据
  • 数据库服务端–mysqld
  • 数据库客户端–mysql

LInux下数据库的本质

  • 建立数据库,本质就是在Linux下创建一个目录
  • 数据库内建表,本质就是在Linux对应数据库目录下创建一个对应的二进制文件
  • 上述操作都是mysqld帮我们做的

一、MySQL的基本使用

连接服务器

输入

mysql-h127.0.0.1-P3306-u root-p

输出

Enter password:****Welcome to the MySQL monitor.Commands end with;or\g.Your MySQL connection id is12Server version:8.4.7MySQL Community Server-GPLCopyright(c)2000,2025,Oracleand/orits affiliates.Oracle is a registered trademark of Oracle Corporationand/orits affiliates.Other names may be trademarks of their respective owners.Type'help;'or'\h'forhelp.Type'\c'to clear the current input statement.

注意
如果没有写-h 127.0.0.1默认是连接本地。
如果没有写-P 3306默认是连接3306端口号(这具体取决于你的配置文件)

服务器、数据库、表关系

  • 安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
  • 为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。

使用demo

  • 创建数据库
mysql>create database db1 Query OK,1rowaffected(0.00sec)

在对应的mysql数据目录下,我们看到确实创建了一个db1目录

  • 查看所有数据库
mysql>show databases;+--------------------+|Database|+--------------------+|db1||helloworld||information_schema||mysql||performance_schema||sys|+--------------------+6rows inset(0.00sec)
  • 使用数据库
mysql>use db1;Database changed
  • 创建数据库表
mysql>create tablestudent(namevarchar(32),ageint,gendervarchar(2));Query OK,0rowsaffected(0.01sec)

db1目录下确实创建了对应的文件

  • 表中插入数据
mysql>insert intostudent(name,age,gender)values('张三',21,'男');Query OK,1rowaffected(0.00sec)mysql>insert intostudent(name,age,gender)values('李四',21,'男');Query OK,1rowaffected(0.00sec)mysql>insert intostudent(name,age,gender)values('王五',88,'男');Query OK,1rowaffected(0.00sec)
  • 查询表中的数据
mysql>select*from student;+--------+------+--------+|name|age|gender|+--------+------+--------+|张三|21|||李四|21|||王五|88||+--------+------+--------+3rows inset(0.00sec)

二、MySQL架构

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

SQL分类

  • DDL【data definition language】数据定义语言,用来维护存储数据的结构代表指令:create, drop, alter
  • DML【data manipulation language】数据操纵语言,用来对数据进行操作代表指令:insert,delete,update
  • DML中又单独分了一个DQL,数据查询语言,代表指令:select
  • DCL【Data Control Language】数据控制语言,主要负责权限管理和事务代表指令:grant,revoke,commit

存储引擎

  • 存储引擎是:数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。是真正直接与OS打交道的地方

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

  • 查看存储引擎

mysql>show engines;+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+|Engine|Support|Comment|Transactions|XA|Savepoints|+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+|ndbcluster|NO|Clustered,fault-tolerant tables|NULL|NULL|NULL||MEMORY|YES|Hash based,stored in memory,usefulfortemporary tables|NO|NO|NO||InnoDB|DEFAULT|Supports transactions,row-level locking,andforeign keys|YES|YES|YES||PERFORMANCE_SCHEMA|YES|Performance Schema|NO|NO|NO||MyISAM|YES|MyISAM storage engine|NO|NO|NO||FEDERATED|NO|Federated MySQL storage engine|NULL|NULL|NULL||ndbinfo|NO|MySQL Cluster system information storage engine|NULL|NULL|NULL||MRG_MYISAM|YES|Collection of identical MyISAM tables|NO|NO|NO||BLACKHOLE|YES|/dev/null storageengine(anything you write to it disappears)|NO|NO|NO||CSV|YES|CSV storage engine|NO|NO|NO||ARCHIVE|YES|Archive storage engine|NO|NO|NO|+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+11rows inset(0.00sec)
  • 存储引擎对比
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/18 13:17:49

【EF Core】通过 DbContext 选项扩展框架

本来老周计划在 10 月 1 日或 2 日写这篇水文的,没打算出去玩(确实没啥好玩)。不过因为买的运动相机到手,急着想试试效果,于是就备了些干粮,骑着山地车在外面鬼混了一天。10 月 2 日,家里来了三…

作者头像 李华
网站建设 2026/7/18 13:17:48

新用户免费试用EmotiVoice 1000个token

EmotiVoice:用1000个免费Token开启高表现力语音合成之旅 在虚拟主播的直播间里,一句“太开心了!”如果只是平平无奇地念出来,观众很难被感染;而在智能助手中,当用户情绪低落时,机械冷漠的回应只…

作者头像 李华
网站建设 2026/7/18 10:32:35

免费视频增强神器:3步将模糊视频升级4K超清画质

免费视频增强神器:3步将模糊视频升级4K超清画质 【免费下载链接】SeedVR-7B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/SeedVR-7B 想要让那些模糊的家庭录像、珍贵回忆重获新生吗?字节跳动SeedVR视频增强工具为你带来专业级的…

作者头像 李华
网站建设 2026/7/18 13:17:44

dp 总结 1

shout out to professor Adzlpxsn.upd at oct 16th 2025, 修复了时间复杂度分析的重大失误.基本的, 状态, 转移, 方程状态一句话概况即为当前的属性.比如说, 贝贝现在是 3030 岁, 发了 00 张专辑, 我们就可以说 �300f 30​0.这里我们说 3030 和 00 是不同的信息, 所…

作者头像 李华
网站建设 2026/7/18 23:20:19

5大核心参数精准调优:从理论到实践的Faiss HNSW索引优化指南

5大核心参数精准调优:从理论到实践的Faiss HNSW索引优化指南 【免费下载链接】faiss A library for efficient similarity search and clustering of dense vectors. 项目地址: https://gitcode.com/GitHub_Trending/fa/faiss 面对海量向量数据的检索挑战&am…

作者头像 李华
网站建设 2026/7/19 10:28:52

LeetCode 最小覆盖子串:滑动窗口 + 哈希表高效解法

引言:为什么这道题是算法面试高频题?“最小覆盖子串”(LeetCode 76)是字符串处理领域的经典难题,也是大厂面试中高频出现的算法题。它的核心考点是滑动窗口(双指针) 与哈希表的结合运用&#xf…

作者头像 李华