MySQL基础入门:从安装到实战操作

发布时间:2026/8/10 10:56:21
MySQL基础入门:从安装到实战操作 MySQL数据库基础上节课我们安装并登入了MySQL指令mysql -h 127.0.01 -P 3306 -u root -p-h 指明登录部署了mysql服务的主机-P 指明我们要访问的端口号-u 指明用户-p 指明需要输入密码1、目前是免密码登录的后面必须设置密码2、密码输入的时候是不会显的什么是数据库我们在连接mysql时使用mysql指令在启动服务时使用mysqld1、mysql是数据库服务的客户端2、mysqld是数据库服务的服务器端客户端管交互展示服务端管数据与逻辑客户端主动提问服务端被动应答凡是可执行程序末尾带d的进程为守护进程本质上是网络服务这个mysqld就是这个网络服务的后端3、mysql本质基于C(mysql)S(mysqld)模式的一种网络服务mysql是一套给我们提供数据存取的服务的网络程序数据库一般指的是在磁盘或者内存中存储的特定结构组织的数据--将来在磁盘上存储的一套数据库方案数据库服务 -- mysqld疑问这里又一个疑问我们已经有了文件管理系统为什么不用文件来存储这个数据而是要以数据库的形式将数据存储在文件里一般文件确实提供了数据存储的功能但是文件并没有提供非常好的数据管理能力(用户角度)一个文件内存储了上千个ip地址我们要统计ip地址开头为120的有多少个这个需求还是需要程序员自己实现文件系统并没有提供这类的数据提取能力只能做简单的读写操作所有我们可以发现一切对文件内容进行管理的操作都需要用户自己实现即二次编码这就不方便了所以需要一个对于用户来说方便的文件数据管理工具文件管理系统只是基于OS来说做的管理只触及到读写管理一旦遇到用户层的一些要求文件管理系统就不够用了所以为了方便这个操作就会有数据库这样的工具来方便这个过程mysql客户端接收用户要求mysqld服务器对数据库文件(数据库文件也是文件只是区别于一般文件)进行操作管理以此形成的一套文件数据内存存储的解决方案数据库本质 对数据内容存储的一套解决方案用户(mysql客户端)给mysqld字段或者要求mysqld就直接给用户(mysql客户端)结果就行说白就就是提供了 存储解决方案用户向mysql客户端发出文件操作的需求mysql客户端向mysql服务器传输需求而mysql服务器向磁盘中找到对应的数据库文件进行操作将结果返回mysql服务器在返回到mysql客户端再到用户再者文件保存数据还有以下缺点文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便数据库的存储介质内存或磁盘一般是磁盘见一下数据库使用mysql建立一个数据库建立一张表结构插入一些数据---对比一下mysql在Linux中是如何表现的show database 语句是查看mysql中数据库信息使用mysql建立一个 数据库建立一张表结构name varchar(32)这里varchar(32)是设置类型name是设置列名称其余同理插入一些数据插入数据insert into 表名(内部属性) values(对于的数据)values后面插入的顺序一定要和前面属性的顺序一样对比一下 mysql 在Linux中是如何表现的✨结论以上的创建数据库建表插入数据等操作都是由数据库服务端做的即mysqld所以数据库其实就是在数据库文件下的文件尤其是文件目录每个文件目录都代表着数据库数据库内可以存放很多个表在磁盘这部分的文件不是由程序员亲自操作而是由mysqld数据库服务器来操作我们程序员只需要通过mysql客户端向服务端提供需求即可主流数据库mysql是关系型数据库由自己的设计范式由表和表之间的数据结构表的结构多半是行列式结构有很多的约束成分在内相对规范适用于磁盘环境下对数据进行管理与关系型数据库相对的是非关系型数据库(NoSQLNot Only SQL)像Redis(键值)、MongoDB(文档)目前还是以MySQL为主NoSQL为辅来实现后端服务的服务器、数据库、表之间的关系一般都是一个应用建立一个数据库程序运行需要保存用户产生的数据一般会在指定的数据库内部创建多个对应的表来存储MySQL框架数据逻辑存储数据库是行列式结构行表示人列表示属性是用二维结构来存储信息逻辑上是以二维表的方式存储但实际上在内部会有自己的协议和方式来定义MySQL架构聚焦于mysqld的网络服务是如何构成的mysql本来就应该在网络服务器后端即Linux上运行是主流场景不同平台的差异是正常的mysql客户端目前使用就是mysql客户端二进制程序命令行形式之后可以之间用C/C连接mysql充当客户端或者使用mysql图形化界面来充当客户端mysql服务端由三层来实现第一层是连接池需要做好链接管理以及权限认证即鉴权以及一系列安全问题第二层是对客户端提供的sql语句进行词法分析以及对查询的sql语句进行优化类似于编译器的功能第三层存放着不同的存储引擎类似于计算机体系结构的驱动部分是对上层进行词法分析的sql语句交给存储引擎进行解释最下层才是执行的核心对数据库的访问访问指定的文件或者表结构以及一系列增删查改存储引擎这么多的原因数据种类很多由文档、二进制、大文件类型等针对不同种类的数据可能采用不同的存储方案这层就是依赖文件系统将数据以特定的方式以二进制文件存储好mysql依旧是文件系统只是除于OS提供的文件系统之上的一套存储解决方案以OS的视角看三层为用户层下面的存储部分属于OS而对于网络而言三层属于应用层下面的属于内核层MySQL语句分类DDL是用于维护存储结构的语句数据定义语言(create(创建), drop(丢弃), alter(修改))DML数据操纵语言对数据进行操作的语句(insert , delete , update)DCL数据控制语言负责权限和事务的管理(grant(赋权), revoke(取消权限) , commit)查看MySQL存储引擎如何存储 、建立索引、更新、查询的方法核心部分最常用的存储引擎是InnoDB和MyISAM