news 2026/2/16 14:32:54

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/2/5 4:11:13

零基础30分钟解锁Qwen3-4B-FP8:从部署到实战的完整能力获取指南

还在为AI模型部署的技术门槛而烦恼?Qwen3-4B-FP8作为高性能轻量级语言模型,仅需消费级GPU就能实现流畅推理,为个人开发者和中小企业提供低成本的AI解决方案。本文将带你从零开始,通过问题导向的递进式学习,快速掌握模型…

作者头像 李华
网站建设 2026/2/11 21:50:14

初探Kubernetes:核心概念解析

k8s 架构K8s 属于经典的主从模型(Master-Slave 架构),由 Master 和 Node 节点构成:Master 节点:负责集群的管理,协调集群中的所有活动。例如应用的运行、修改、更新等。Node 节点:为 Kubernetes…

作者头像 李华
网站建设 2026/2/14 12:36:53

终极Visio形状库:5000+专业图形一键调用

终极Visio形状库:5000专业图形一键调用 【免费下载链接】史上最全Visio形状库分享 你是否在使用Microsoft Visio时,发现内置的形状库无法满足你的需求?你是否在寻找一个更全面、更丰富的形状库来提升你的绘图效率?那么&#xff0c…

作者头像 李华
网站建设 2026/2/14 12:23:58

MouseTester:专业鼠标性能评测工具终极指南

MouseTester:专业鼠标性能评测工具终极指南 【免费下载链接】MouseTester 项目地址: https://gitcode.com/gh_mirrors/mo/MouseTester 告别主观猜测,用数据精准评估鼠标表现 在日常使用中,你是否曾因鼠标响应延迟而在关键时刻错失良…

作者头像 李华
网站建设 2026/2/14 12:25:06

EmotiVoice技术沙龙报名开启:线下交流盛会

EmotiVoice技术沙龙报名开启:线下交流盛会 在虚拟助手越来越“懂人心”、游戏角色开始拥有情绪起伏的今天,语音合成早已不再是简单地把文字念出来。用户期待的是有温度的声音——能欢快地打招呼,也能低沉地讲述一段悲伤往事。而要实现这种拟人…

作者头像 李华