MySQL数据库基础知识总结(一)

一、数据库基础

1.1 为什么使用数据库?

持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。持久化的大多数时候是将内存中的数据存储在数据库中,当然也可以存储在磁盘文件、XML数据文件中。

方便管理数据(例如:快速的检索等)

1.2 什么是数据库?

**DB:数据库(Database)**即存储数据的仓库。它保存了一系列有组织的数据。

**DBMS:数据库管理系统(Database Management System)**是一种操纵和管理数据库的大型软件,例如建立、使用和维护数据库。

目前互联网上常见的数据库管理软件有Sybase、DB2、Oracle、MySQL、Access、Visual Foxpro(面向对象型)、MS SQL Server、Informix、PostgreSQL(最符合SQL标准,但是性能差)这几种。

二、启动和停止服务

“偏好设置–>MySQL–>启动和关闭MySQL”(mac系统)
在这里插入图片描述

三、客户端登陆

命令行登陆客户端:mysql -h 主机名 -P 端口号 -u 用户名 -p密码

例如:musql -h loscalhost -P 3306 -u root -proot

注意:

(1)-p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有空格

​ mysql -hlocalhost -P3306 -uroot -proot

(2)密码建议在下一行输入

​ mysql -h-hlocalhost -P3306 -uroot -p

​ Enter password:****

(3)如果是连本机:-hlocalhost就可以省略,如果端口号没有修改:

​ 简写成:mysql -u root -p

​ Enter password:****
在这里插入图片描述

四、Mysql的逻辑架构与储存引擎

4.1 MySQL的逻辑架构

1. 连接层

最上层是一些客户端和连接服务,包含本地sock通信和大多数基于客户端/服务端工具实现类似于tcp/ip的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入线程池的概念,为通过认证安全接入的客户端提供线程。同样在该层上可以实现基于SSL的安全连接。服务器也会为安全接入的每个用户端验证它所具有的操作权限。

2. 服务层

第二层架构主要完成核心服务功能,如SQL接口,并完成缓存的查询,SQL的分析和优化部分内置函数的执行。所有跨存储引擎的功能也在这一层实现,如过程、函数等。在该层,服务器会解析查询并创建相应的内部剖析树,并对其完成相应的优化,如确定查询表的顺序、是否利用索引等,最后生成相应的执行操作。如果是select语句,服务器还会查询内部的缓存。如果缓存空间足够大,这样在解决大量读操作的环境中能够很好的提升系统的性能。

3. 引擎层

存储引擎层,存储引擎真正的负责可MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信。不同的存储引擎具有的功能不同,这样我们可以根据自己的实际需要进行选取。

4. 存储层

数据存储层,主要是将数据存储在运行于裸设备的文件系统之上,并完成与存储引擎的交互。
在这里插入图片描述

4.2 存储引擎

MySQL最重要、最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理(Query Processing)及其他系统任务(Server Task)和数据的存储/提取相分离。这种处理和存储分离的设计可以在使用时根据性能、特性、以及其他需求来选择数据存储的方式。

MySQL中同一个数据库,不同的表格可以选择不同的存储引擎。(MySLQ默认的存储引擎是InnoDB)
在这里插入图片描述

  • MyISAM不支持事务、也不支持外键,其优势是访问的速度快,对事务完整性没有要求或者以SELECT、INSERT为主的应用。每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)。
  • InnoDB存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比MyISAM的存储引擎,InnoDB写的处理效率差一些,并且会占用更多的磁盘空间以保存数据和索引。InnoDB:所有的表都保存在同一个数据文件中,InnoDB表的大小只受限于操作系统文件的大小限制。Myisam只缓存索引,不缓存真实数据;Innodb不仅缓存索引还要缓存真实数据,对内存要求较高,而且内存大小对性能有决定性的影响。
  • MEMORY存储引擎使用存在于内存中的内容来创建表。MEMORY类型的表访问非常的快,因为它的数据是放在内存中的,并且默认使用HASH索引,但是一旦服务关闭,表中的数据就会丢失。主要用于那些内容变化不频繁的代码表或者作为统计操作的中间结果表。

4.3 查看存储引擎

查看当前MySQL数据库管理软件支持的存储引擎:SHOW ENGINES;在这里插入图片描述

查看默认存储引擎和当前选择的存储引擎:SHOW VARIABLES LIKE '%storage_engine%'在这里插入图片描述

创建新表时如果不指定存储引擎,那么系统就会使用默认存储引擎,MySQL5.5之前的默认存储引擎是MyISAM,5.5之后改为了InnoDB。

查看已经创建的表格的存储引擎:SHOW CREATE TABLE 表名称;在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MySQL是一个开源的关系型数据库管理系统,它使用SQL语言进行查询和管理数据。以下是MySQL数据库基础知识: 1. 数据库:是由一组相关数据表组成的集合。在MySQL中,数据库是一个物理文件,存储在磁盘上。 2. 数据表:是由一组有序的行和列组成的二维表格。每个数据表都有一个唯一的名称,用于标识和访问它。 3. 列:也称为字段或属性,是数据表中的一个垂直部分,用于存储特定类型的数据。 4. 行:也称为记录或元组,是数据表中的一个水平部分,包含一组相关的数据。 5. 主键:是一列或一组列,用于唯一标识数据表中的每一行。主键的值不能重复,且不能为NULL。 6. 外键:是一个列或一组列,用于建立两个数据表之间的关系。外键必须引用另一个表的主键。 7. 索引:用于提高数据检索速度的数据结构。索引可以在一个或多个列上创建,允许快速查找和过滤数据。 8. 视图:是一种虚拟表格,它是由一个或多个数据表的查询结果组成的。视图可以简化复杂的查询和数据访问。 9. 存储过程:是一组预定义的SQL语句,可以接受输入参数并返回输出参数。存储过程可以在数据库中存储和重复使用。 10. 触发器:是一种特殊类型的存储过程,用于在数据表上自动执行特定的操作。例如,在插入新数据行时自动更新另一个数据表。 以上是MySQL数据库基础知识,对于MySQL的安装、配置、管理和优化等方面也需要进行深入学习和了解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值