《MySQL 8 DBA基础教程》第三章习题答案

3.5 经典习题与面试题

  1. 经典习题

(1)查看当前系统的数据库。

sql 复制代码
SHOW DATABASES;

(2)创建数据库Book,使用SHOW CREATE DATABASE语句查看数据库定义信息。

  1. 创建数据库 Book
sql 复制代码
CREATE DATABASE Book;
  1. 使用 SHOW CREATE DATABASE 查看数据库定义
sql 复制代码
SHOW CREATE DATABASE Book;

(3)删除数据库Book。

要删除数据库 Book,可以使用以下 SQL 语句:

sql 复制代码
DROP DATABASE Book;
  1. 面试题及解答

(1)如何查看默认存储引擎?

可以使用SHOW ENGINES语句查看系统中所有的存储引擎,其中包括默认的存储引擎;

还可以使用一种直接的方法查看默认的存储引擎,具体SQL如下:

SHOW VARIABLES LIKE '%storage_engine';

(2) 如何修改存储引擎?

修改MySQL安装目录下的my.ini或者my.cnf文件,在该文件中的mysqld组下添加default-storage-engine=INNODB语句,再重启MySQL服务才能够生效;

也可以通过SQL语句SET DEFAULT_STORAGE_ENGINE=MyISAM来设置。

最后通过SHOW VARIABLES LIKE '%storage_engine'查看默认存储引擎是否修改成功。

(3)如何选择存储引擎?

如何选择一个合适的存储引擎是没有一个确切的答案。下面根据它们的不同特性给出相应的建议。

  1. InnoDB存储引擎

InnoDB存储引擎支持事务处理,支持外键,同时支持崩溃修复能力和并发控制。如果对事务的完整性要求比较高,要求实现并发控制,那么选择InnoDB存储引擎有很大的优势。需要频繁地进行更新、删除操作的数据库也可以选择InnoDB存储引擎,因为这类存储引擎可以实现事务的提交(Commit)和回滚(Rollback)。

  1. MyISAM存储引擎

MyISAM存储引擎出入数据快,空间和内存使用比较低。如果表主要用于插入新纪录和读出记录,那么选择MyISAM存储引擎能实现处理的高效率。如果应用的完整性、并发性要求很低,也可以选择MyISAM存储引擎。

  1. MEMORY存储引擎

MEMORY存储引擎的所有数据都在内存中,数据的处理速度快,但安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,就可以使用MEMORY存储引擎。MEMORY存储引擎对表的大小有要求,不能建立太大的表。所以,这类数据库使用相对较小的数据库表。

最后要说明的一点是,在同一个数据库中,不同的表可以使用不同的存储引擎,如果一个表要求较高的事务处理,就可以选择InnoDB存储引擎,如果一个表会被频繁查询,就可以选择MyISAM存储引擎,如果是一个用于查询的临时表,就可以选择MEMORY存储引擎。

相关推荐
建投数据1 小时前
建投数据与腾讯云数据库TDSQL完成产品兼容性互认证
数据库·腾讯云
Hacker_LaoYi2 小时前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀2 小时前
Redis梳理
数据库·redis·缓存
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天3 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺3 小时前
分布式系统架构:服务容错
数据库·架构
独行soc4 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain4 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
Code apprenticeship4 小时前
怎么利用Redis实现延时队列?
数据库·redis·缓存
百度智能云技术站4 小时前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle