MySQL数据库基础:从三层结构到常用操作

目录

目录

前言

正文

一、MySQL的三层结构

二、创建数据库和删除数据库的指令

三、查看数据库

四、备份和恢复数据库

总结与致谢

下期预告


前言

在数据库学习和开发中,理解MySQL的基本结构是破除神秘感的第一步。本文将详细讲解MySQL的三层结构,并介绍创建、查看、删除、备份和恢复数据库的指令操作。同时,文章为图形化操作留出空间,方便读者结合工具(如SQLyog或Navicat)进行实践。

正文

一、MySQL的三层结构

MySQL的三层结构是理解其工作原理的核心。

客户端(Client):包括命令终端、SQLyog图形化工具、Java应用程序等。这是用户与数据库交互的入口,负责发送SQL指令。

DBMS(数据库管理系统):即MySQL服务器层,它接收客户端的请求,进行解析、优化和执行,并管理数据存储。

数据库(Database) :如DB1、DB2等,是实际存储数据的容器,由多个文件组成。课件右下角的文件资源管理器窗口显示了MySQL的数据目录(例如路径如/var/lib/mysql/),其中每个数据库对应一个子目录,包含表结构文件和数据文件。

图形化显示如下:

这种三层结构确保了数据的安全性和隔离性------客户端不直接访问数据库文件,而是通过DBMS中介。箭头表示数据流:客户端发起请求,DBMS处理并返回结果。理解这一点有助于避免直接操作文件导致的错误,从而"破除神秘"。

二、创建数据库和删除数据库的指令

在实际操作中,我们通常使用SQL指令来管理数据库。以下是创建和删除数据库的基本命令,这些操作需要在具有权限的MySQL会话中执行(例如通过命令行客户端或图形化工具)。

创建数据库的指令

使用CREATE DATABASE语句,后跟数据库名称。建议指定字符集和排序规则以确保兼容性。

示例:

sql 复制代码
CREATE DATABASE myCSDN_db;

就创建出来了

此外,我们也可以直接在图形化界面创建

执行后,MySQL会在数据目录中创建对应的文件夹(如mdb),并初始化系统表。

删除数据库的指令

使用DROP DATABASE语句,彻底删除数据库及其所有数据。操作需谨慎,因为不可恢复。

示例:

sql 复制代码
DROP DATABASE mydb;

如果数据库不存在,可以使用IF EXISTS避免错误:DROP DATABASE IF EXISTS mydb;

这些指令是数据库管理的基础,适合在脚本或自动化任务中使用。请注意,操作前需确保有足够权限,并且删除数据库前应备份重要数据。

同样的,也可以图形化界面删除

三、查看数据库

查看数据库是日常管理中的常见操作,用于列出所有可用的数据库或检查特定数据库的详情。主要通过SHOW语句实现,以下是常用指令:

查看所有数据库

使用SHOW DATABASES;指令,它会返回MySQL服务器上所有数据库的列表,包括系统数据库(如information_schema)和用户数据库。

示例输出:

四、备份和恢复数据库

备份和恢复是保证数据安全的关键操作。虽然图形化工具提供一键功能,但指令方式更灵活,适合自动化。以下是常用命令,基于MySQL的命令行工具。

备份数据库

使用mysqldump工具(独立于MySQL客户端),它将数据库导出为SQL文件。

示例命令(在系统终端执行):

其中,-u指定用户名,-p提示输入密码,mydb是数据库名,备份文件为mydb_backup.sql。此文件包含所有表结构和数据。

恢复数据库

在MySQL会话中使用SOURCE指令(注意,这里是要在MySQL中):

sql 复制代码
 source d:/bak.sql

这里的路径大家自己根据情况设置,我直接下到d盘了

运行结果应该得是这样,大家试运行之前记得把保存好的原数据库删掉

备份文件对应于课件中数据目录的文件,但mysqldump生成的是逻辑备份,而非直接复制物理文件。这种方式可跨平台迁移数据。

总结与致谢

通过本文的学习,我们从一个生动的三层结构图示出发,系统地掌握了MySQL数据库从创建、查看、删除到备份恢复的核心操作指令。希望这种"原理+实战"的方式,能帮助大家真正地"破除神秘",夯实数据库管理的根基。

数据库世界浩瀚无垠,这只是第一步。感谢您的阅读,希望本文能对您有所帮助!如果您在实践过程中遇到任何问题,或有更好的经验分享,欢迎在评论区留言交流。

下期预告

对数据库中的表本身的增删改查和对表内内容的增删改查

相关推荐
溪语流沙8 分钟前
Django + Vue电商项目第001讲:开篇|注册登录加增删改查,那不是电商
redis·python·mysql·docker·typescript·django·vue
努力努力再努力wz18 分钟前
【Redis进阶系列】:从主从复制到 Sentinel,一文建立故障检测、Leader 选举与 Failover 的完整心智模型
数据库·redis·缓存
达梦数据26 分钟前
DMDRS搭建部署简介与运行环境
数据库
Omics Pro29 分钟前
1个月2轮融资!长寿虚拟细胞
数据库·人工智能·算法·机器学习·自然语言处理
程序员阿黄36 分钟前
基于 Django 与 Vue 3 的智能实验室预约系统设计与实现
后端·python·mysql·django·vue·毕设
zcn1261 小时前
row_number()函数与group by性能比较
数据库·sql优化改写
小K讲AI营销1 小时前
AI基础设施融资路径的中美比较:资本市场模式与政策金融模式
大数据·数据库·人工智能
净水深流1 小时前
中国冷链冷库行业数据分析:从规模扩张到技术驱动
大数据·数据库·人工智能·冷库冷链
李兆龙的博客2 小时前
从一到无穷大 #94:ClickHouse TimeSeries——时间线组织与 Prometheus 兼容性
数据库
冰暮流星2 小时前
事务的四个特性(ACID)详解
数据库