news 2026/4/27 7:28:22

初识MySQL,数据库相关概念,库操作,表操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
初识MySQL,数据库相关概念,库操作,表操作

文章目录

  • MySQL基础
    • 什么是MySQL?
    • 为啥要数据库?
    • 服务器、数据库、表关系三者
    • MySQL的架构
    • SQL语句分类
  • 库的基本操作
    • C 新增/创建一个数据库
    • R 查看数据库
    • U 修改数据库
    • D 删除数据库
    • 备份和恢复数据库
  • 表操作
    • C 创建表
    • R 查看表
    • U 修改表
    • D 删除表

MySQL基础

什么是MySQL?

  • mysqld是数据库的服务端

  • mysql是数据库的客户端

  • mysql是一种基于CS模式,提供了一套数据存储服务的网络服务

  • 而数据库是在磁盘或内存中存储的特定数据结构的方法

MySQL是世界上最受欢迎的免费开源的项目,上手比较简单

为啥要数据库?

文件保存数据存在缺点:

  • 安全性
  • 不利于数据查询和管理–比如我想查询某个字段,很困难
  • 不利于存储海量数据

数据库是为了高效解决数据存储和查询的设计

服务器、数据库、表关系三者

MySQL的架构

详细架构图如下:

注:上图源自网络

初学阶段先理解三层架构:

MySQL是一种网络服务,那么就可以把它当成一家餐厅:

  • 第一层:连接层(前台)

    • 监听新连接,账号密码校验,管理连接
  • 第二层:服务层(后台)

    • 负责所有逻辑处理,不碰真实的数据:
      • 语法检查:保证每条命令的改动都是安全且正确
      • 查询优化:帮助用户选择最高效的方式
      • 权限判断:判断当前操作你是否有权限,无权限直接拦截

    服务层主要负责SQL解析,优化

  • 第三层:存储引擎

    • 真正存数据、读数据的地方
      • InnoDB引擎:支持事务、锁、崩溃恢复
      • MyISAM引擎:不支持事务

    服务层发指令,引擎层去硬盘/内存存取数据

SQL语句分类

DDL:data definition language 数据定义,维护存储数据的结构

DML:data manipulation language 数据操作,对表中数据操作

DCL:data control language 数据控制,权限和事务的管理

库的基本操作

C 新增/创建一个数据库

createdatabasedb_name[各种选项]

在Linux中创建一个目录

这里选项着重介绍一下数据库的两个编码集:

  • 数据库编码集:数据库未来存储数据的编码格式
  • 数据库校验集:数据库读取时采用的编码格式

要保证操作时用的同一个编码格式

# 查看当前的默认字符集和校验集showvariableslike'character_set_database';showvariableslike'collation_database';

R 查看数据库

showdatabases;# 显示所有数据库showcreatedatabasedb_name;# 显示创建数据库时的语句usedb_name;# 使用这个数据库selectdatabase();# 查看当前在哪个数据库

U 修改数据库

alterdatabasedb_name[选项]# 例如修改校验集和字符集alterdatabasetest_dbcharset=gbkcollate=gbk_chinese_ci;

D 删除数据库

dropdatabasedb_name;

删除之后整个目录里的所有文件全没了,不要随意删库

备份和恢复数据库

备份:

mysqldump-P3306-u root-p 密码-B 数据库名1数据库名2...>新的路径

直接把所有有效操作的命令备份了!

只备份一个库里的几个表:

mysqldump-P3306-u root-p 密码-B 数据库名 表一 表二...>新的路径

还原:

source 备份的文件.sql

如果在备份时,没有-B的选项,恢复数据库时,要先创建空的数据库,然后使用这个数据库,再使用source还原

表操作

C 创建表

createtabletable_name(列名 列属性,列名 列属性,列名 列属性)[characterset字符集collate校验集engine存储引擎];

R 查看表

showtables;#查看所有表desctable_name;#查看详细信息showcreatetabletable_name\G;#查看创建时的详细信息

U 修改表

# 新增一列altertabletable_nameadd列名 列属性;# 修改一列的属性altertabletable_namemodify列名 新数据类型;# 删除这一列altertabletable_namedrop列名;# 修改表名称altertabletable_namerenameto新的表名;# 修改列名称altertable_name change 旧列明 新列名 属性;# 指定字段插入insertinto表名字(字段1,字段2...)values(1,2...);# 全列插入,没有省略字段insertinto表名字values(1,2...);

D 删除表

droptabletable_name;

done~

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 7:26:23

解密中兴光猫工厂模式:zteOnu工具深度实战与安全渗透技术

解密中兴光猫工厂模式:zteOnu工具深度实战与安全渗透技术 【免费下载链接】zteOnu A tool that can open ZTE onu device factory mode 项目地址: https://gitcode.com/gh_mirrors/zt/zteOnu 中兴光猫作为家庭和企业网络的核心入口设备,其隐藏的工…

作者头像 李华
网站建设 2026/4/27 7:25:57

H.266/VVC编解码技术解析与开源实现VVenC/VVdeC

1. H.266编解码技术概述H.266/VVC(Versatile Video Coding)是新一代视频编码标准,由ITU-T和ISO/IEC联合开发团队于2020年7月正式发布。作为H.265/HEVC的继任者,H.266在相同视觉质量下可实现约50%的码率降低,这意味着在…

作者头像 李华
网站建设 2026/4/27 7:16:05

神经囊泡计算范式:生物启发与AI动态调制

1. 神经囊泡:从生物机制到计算范式的跨越在生物神经系统中,神经调制(neuromodulation)是一种精妙的信号调控机制。当神经元需要传递信息时,它们并不直接通过电信号完成所有通信,而是释放充满神经递质的微小…

作者头像 李华
网站建设 2026/4/27 7:11:21

PHP AI开发框架LLPhant:无缝集成LLM与RAG,赋能智能应用构建

1. 项目概述:一个专为PHP开发者打造的AI应用开发框架如果你是一名PHP开发者,最近被各种AI应用搞得心痒痒,想在自己的项目中集成智能对话、文档总结或者代码生成功能,但一看到Python生态里那些复杂的库和框架就头疼,那么…

作者头像 李华