news 2026/6/17 9:27:04

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/6/15 15:27:52

Android Compose 基础系列:您的第一个 Kotlin 程序

简介Kotlin 是一门现代、简洁、安全的编程语言,由 JetBrains 开发,并被 Google 作为 Android 官方首选语言。它可以与 Java 完美互操作,并支持跨平台开发,是现代 Android 开发的首选。🛠️ Kotlin 的主要用途✅ Androi…

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

BurpSuite工具HaE插件好用正则收集

0. 如何使用HaE HaE 主要由三块部分组成: Rules(规则信息管理):管理匹配特定信息的正则表达式 Config(配置信息管理):配置文件和忽略后缀名的管理 Databoard(数据集合面板):对匹配到的信息进行集中查询和管理 先说 Rules 规则信息管理,我们点击 Add ,界面如下: 通…

作者头像 李华
网站建设 2026/6/15 6:03:10

系统编程—线程的互斥与同步

线程的互斥和同步是多线程编程的核心问题,用于解决资源竞争和执行时序协调的问题,确保多线程程序的正确性、稳定性和可预测性。核心概念铺垫临界区(Critical Section):多个线程共享的资源(如全局变量、硬件…

作者头像 李华
网站建设 2026/6/15 12:39:30

解锁本地大模型推理性能:llama.cpp动态批处理实战指南

解锁本地大模型推理性能:llama.cpp动态批处理实战指南 【免费下载链接】llama.cpp Port of Facebooks LLaMA model in C/C 项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp 你是否遇到过这样的场景?当多个用户同时访问你的本地大模型…

作者头像 李华
网站建设 2026/6/15 12:39:10

【干货收藏】RAG分块策略全解析:7种方法提升大模型效果的实战指南

文章详解了RAG系统中提升效果的关键环节——分块(Chunking)策略,系统介绍了固定大小、语义、递归、文档、智能体、句子和段落七种主流分块方法,分析其优缺点与应用场景。实践建议从512 tokens搭配10-15%重叠率起步,优先采用递归和句子分块&am…

作者头像 李华
网站建设 2026/6/15 14:16:58

收藏!大模型学习别乱冲,这份进阶指南帮你少走2年弯路

在大模型学习社群和CSDN评论区,每天都能看到相似的迷茫:有人抱着《深度学习入门》啃了3个月,却连Llama模型都不会部署;有人跟风学了LoRA微调、RAG开发,换个项目场景就无从下手;更有人刷遍了免费教程&#x…

作者头像 李华