使用语言 MySQL
使用工具 Navicat Premium 16
代码能力快速提升小方法,看完代码自己敲一遍,十分有用
目录
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文件,仅结构就代表只有定义,没有数据。