首页 > 数据库 >初识MySQL(下篇)

初识MySQL(下篇)

时间:2024-04-07 14:02:18浏览次数:14  
标签:存储 下篇 数据库 初识 引擎 InnoDB MyISAM MySQL

使用语言 MySQL

使用工具 Navicat Premium 16

代码能力快速提升小方法,看完代码自己敲一遍,十分有用

目录

1.MySQL存储引擎 

1.1 MySQL存储引擎基本概念

1.2 常用的存储引擎

1.2.1 常用的两种引擎功能

1.2.2 InnoDB存储引擎的使用场景

1.2.3  MyISAM存储引擎的使用场景

1.3 设置默认存储引擎 

1.3.1 查看默认存储引擎语法

1.4 指定表的存储引擎

2.MySQL系统帮助

2.1 查看mysql系统帮助 

2.1.1 查看帮助文档目录 

2.1.2 查看具体内容

2.2 导出数据库脚本 


1.MySQL存储引擎 

1.1 MySQL存储引擎基本概念

我们知道MySQL属于数据库管理系统,具体包括数据库和用于数据库访问管理的接口系统。数据库负责存储数据,接口系统负责管理数据库。不同用户对数据的容量、访问速度、数据安全性有不同的要求。为了满足用户的业务需求,MySQL数据库采用多种存储引擎进行数据存储。

存储引擎指定了表的存储类型,即如何存储和索引数据、是否支持事务等,同时存储引擎也决定了表在计算机中的存储方式。MySQL5.7版本支持的存储引擎InnoDB、MyISAM、MEMORY、MRG_MyISAM、ARCHIVE、FEDERATED、CSV、BLACKHOLE、PERFORMANCE_SCHEMA共9种,可以使用show engines语句查看系统所支持的引擎类型。执行结果如下(可以在dos命令中输入,也可以直接新建查询,或者命令列界面): 

以上是MySQL8.0的支持存储引擎;

1.2 常用的存储引擎

常用的存储引擎有InnoDB和MyISAM两种:

1.2.1 常用的两种引擎功能

事务处理InnoDB支持MyISAM不支持
外键约束InnoDB支持MyISAM不支持
表空间大小InnoDB较大MyISAM较小
数据行锁定InnoDB支持MyISAM不支持

1.2.2 InnoDB存储引擎的使用场景

事务型数据库的首选引擎,支持具有提交、回滚和崩溃恢复能力的事务控制。在需要大量执行插入、更新操作,或者需要使用事务保证数据完整性的场景下应选择InnoDB。

1.2.3  MyISAM存储引擎的使用场景

该存储引擎不支持事务,也不支持主外键,访问速度比较快。因此,不需要事务处理,且以访问为主的应用更适合该引擎。 

1.3 设置默认存储引擎 

1.3.1 查看默认存储引擎语法

MySQL8.0的默认存储引擎是InnoDB,可以通过以下语句查看当前默认的存储引擎。语法格式如下: 

show variables like 'default_storage_engine%' 

我没有设置任何东西的运行结果如下:

 

由此可以看出,我的默认存储引擎是InnoDB。

 如需修改默认存储引擎,可以通过配置向导或修改该路径C:\ProgramData\MySQL\MySQL Server 8.0下的my.ini实现,由于该文件夹默认是隐藏的,所以需要在查看中选中隐藏的项目,然后在ProgramData会有一个MySQL文件夹中有一个MySQL Server+你的版本号的文件夹,然后这个文件就在这里面了。

打开这个文件后修改default-storage-engine的值即可(打开之后可以在记事本中Ctrl+F进行查找),修改过后,需要重启MySQL服务才会生效。

1.4 指定表的存储引擎

数据表默认使用当前MySQL默认的存储引擎,可以根据实际的使用场景在创建数据库时设置表的存储引擎类型。语法如下: 

create table 表名(
  # 省略代码
)engine=存储引擎; 

2.MySQL系统帮助

在学校和工作中,我们总会遇到各种问题。此时除了使用搜索引擎去查找解决方法,还有一种更加权威的方法——使用MySQL系统帮助解决问题。 

2.1 查看mysql系统帮助 

MySQL提供的帮助命令是help。语法格式如下: 

help 查询内容; 

其中,查询内容为要查询的关键字。具体示例如下: 

2.1.1 查看帮助文档目录 

help contents; 

 

结果如上,name列的值就是可查询的文档目录列表;

2.1.2 查看具体内容

根据列出的目录,可以选择某一项进行查询,如查看int类型数据定义。 

 

2.2 导出数据库脚本 

如果想要导出数据库的脚本文件,可以右键数据库,然后选择转储SQL文件,仅结构就代表只有定义,没有数据。 

标签:存储,下篇,数据库,初识,引擎,InnoDB,MyISAM,MySQL
From: https://blog.csdn.net/a15766649633/article/details/137457834

相关文章

  • (毕设)基于Java+Vue+Mysql的WMS仓库管理系统
      前言: WMS(WarehouseManagementSystem)仓库管理系统是一个用于优化仓库操作、提高效率和准确性的软件解决方案。以下是针对列出的WMS仓库管理系统的各个部分的简要描述:1.订单管理订单管理是WMS的核心功能之一,涉及处理、跟踪和完成客户订单。这包括:订单录入:手动或自......
  • 2024年最新,Linux平台 CentOS8安装mysql流程,以及可能遇到的问题
    0.删除mysql如果下载过mysql,请先删除mysql,不确定的也可以先查询一下查询命令: rpm-qa|grepmysqlrpm-qa|grepmariadb删除查询到的这些文件rpm-e--nodeps//查询到的软件名称例如:查询到的mysql相关文件删除mysql相关文件,并查询***别忘记去解压目录下......
  • Docker容器中修改mysql最大连接数(永久)
    程序连接mysql报错:Toomanyconnections,解决方法是修改mysql里的连接数。showvariableslike"%conn%";    查看 max_connections最大连接数,max_user_connections单用户最大连接数。进入docker内部的bash命令可执行界面:dockerps   查看mysql镜像......
  • MySQL中COUNT(1)、COUNT(*)、COUNT(字段)
    COUNT1):COUNT(1)会统计符合条件的结果集的行数,表示统计结果集中的行数,而括号内的值不影响结果。使用COUNT(1)可以更快地执行统计,因为不需要实际检查行的数据内容。COUNT(*):COUNT(*)会统计符合条件的结果集的行数,与COUNT(1)类似,但不同的是COUNT(*)会检查行中具体的数据......
  • 【阅读笔记】MySQL的多版本并发控制(MVCC-Multiversion Concurrency Control)
    摘自:高性能MySQL(第四版)MVCC的作用InnoDB和XtraDB存储引擎通过多版本并发控制(MVCC,MultiversionConcurrencyControl)解决了幻读的问题MVCC的应用MySQL的大多数事务型存储引擎使用的都不是简单的行级锁机制。它们会将行级锁和可以提高并发性能的多版本并发控制(MVCC)技术结合使用......
  • Mac安装压缩版MySQL Server
    本文详细记录一次在Mac中安装MySQLServer的过程,安装环境如下:MacOS14.4x86,corei7在MySQL数据库实验环境下通常都要安装其MySQLServer,安装方式五花八门,最简单的有通过系统包管理工具一键安装,例如apt和yum等,这种安装方法会使得MySQL按照标准设计将文件分散在多个文件路径......
  • MySQL 主从 AUTO_INCREMENT 不一致问题分析
    作者:vivo互联网数据库团队-WeiHaodong本文介绍了MySQL5.7中常见的replaceinto操作造成的主从auto_increment不一致现象,一旦触发了主从切换,业务的正常插入操作会触发主键冲突的报错提示。一、问题描述1.1问题现象在MySQL5.7版本中,REPLACEINTO操作在表存在自增......
  • 深入探索MySQL:成本模型解析与查询性能优化,及未来深度学习与AI模型的应用展望
    码到三十五:个人主页在数据库管理系统中,查询优化器是一个至关重要的组件,它负责将用户提交的SQL查询转换为高效的执行计划。在MySQL中,查询优化器使用了一个称为“成本模型”的机制来评估不同执行计划的优劣,并选择其中成本最低的那个。本文将深入探讨MySQL的成本模......
  • MySQL分组查询以及内连接查询
    DDLCREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`age`tinyint(......
  • MySQL左右连接查询
    DDLCREATETABLE`student`(`id`int(11)NOTNULLAUTO_INCREMENTCOMMENT'学号',`createDate`datetimeDEFAULTNULL,`userName`varchar(20)DEFAULTNULL,`pwd`varchar(36)DEFAULTNULL,`phone`varchar(11)DEFAULTNULL,`age`tinyint(......