【MySQL 03】库的操作 (带思维导图)

  • 前置:之后的所有的 SQL 语句中,凡是被中括号 [ ] 括起来的均为可选项

🌈 一、创建数据库

数据库创建语句

  • 创建数据库本质就是在 /var/lib/mysql创建一个目录

  • if not exists:如果指定数据库不存在则创建该数据库,如果存在则无事发生。

create database [if not exists] 数据库名;

image-20240809103108083

🌈 二、查看数据库

1. 查看所有的数据库

  • 查看当前用户下所能查看的数据库。
  • 本质就是查看 /var/lib/mysql 中的所有目录
show databases;

image-20240809103518609

2. 查看当前正在使用的数据库

select database();

image-20240809151716966

🌈 三、使用数据库

  • 一般而言,数据库是有很多的,需要指定自己要使用哪个数据库。
use 数据库名;

image-20240809113005338

🌈 四、修改数据库

  • 对数据库的修改主要指的是修改数据库的字符集、校验规则。
alter database 数据库名 charset=指定字符集 collate 指定校验规则;

🌈 五、删除数据库

  • 删除数据库的本质就是,删除 /var/lib/mysql 中的删除指定目录
  • if exists 选项表示如果指定数据库存在则将其删除,如果不存在则无事发生。
drop database [if exists] 数据库名;

image-20240809103710105

  • 直接删除数据库会将该库内的表也全部删除,特别不推荐直接删除数据库,如果非要删除,也要先对该数据库进行备份

🌈 六、备份数据库

1. 备份数据库语法

  • 在命令行输入以下指令备份指定数据库到指定位置。
  • 备份不止是备份对应数据的数据,还会将对被备份数据库曾经的有效操作也给备份。
sudo mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径

2. 备份数据库案例

  • 使用如下指令将 db1 数据库备份到当前目录形成一个 test.sql 目录。
sudo mysqldump -P3306 -u root -p -B db1 > test.sql

image-20240809153607303

🌈 七、恢复数据库

1. 恢复数据库语法

  • 将对指定数据库的历史操作在新的 sql 中重新执行一遍。
mysql> source 备份文件所在路径;

2. 恢复数据库案例

image-20240809154254213

🌈 八、字符集和校验规则

创建数据库时,有两个编码集

  1. 数据库编码集:数据库未来存储数据所要采用的编码集。
    • 只要是数据,都要有对应的编码格式,而像数据库这种专门与数据打交道的就更不用说了。
  2. 数据库校验集:支持数据库,进行字段比较使用的编码,本质也是读取数据库中数据所采用的编码格式。
    • 使用对数据库中的数据进行查找或匹配等需要比较的操作时,想要比较就要读取出来,在读的时候使用的校验规则。
  • 结论:数据库无论对数据做任何操作,都必须保证操作和编码必须是编码一致的!

⭐ 1. 查看系统默认字符集及校验规则

  1. 查看系统默认字符集:
show variables like 'character_set_database';

image-20240809110031973

  1. 查看系统默认校验规则:
show variables like 'collation_database';

image-20240809105954180

⭐ 2. 查看数据库支持的字符集

show charset;
  • 可能会因为 MySQL 配置文件的差异而导致字符集有所差异。

⭐ 3. 查看数据库支持的字符集校验规则

show collation;
  • 查看的是字符集所对应的校验规则。

🌈 九、思维导图

image-20240809114339428

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MySQL 45讲是由杨恒宇老师主讲的MySQL数据前沿技术课程,包括了MySQL的各个方面的知识点和实践经验。以下是MySQL 45讲的思维导图内容: 1. MySQL架构基础 - 架构介绍:Server层和存储引擎层 - 连接管理器和连接池 - SQL解析和查询优化 2. InnoDB存储引擎 - InnoDB架构和特性 - 事务和锁机制 - MVCC多版本并发控制 - InnoDB存储引擎的存储结构和索引原理 3. SQL优化 - 查询性能优化 - 索引优化和建立原则 - 慢查询分析和优化 - Explain和性能分析工具的使用 4. 高性能索引 - B+树索引和Hash索引 - 索引的数据结构和存储原理 - 聚簇索引和辅助索引 - 全文索引和空间索引 5. 事务隔离和并发控制 - ACID特性和事务隔离级别 - 死锁和锁粒度 - 乐观锁和悲观锁机制 - 并发控制算法:读写锁和多版本并发控制 6. 复制和高可用 - 主从复制和读写分离 - 二进制日志和GTID - 基于半同步复制的高可用解决方案 - 高可用架构设计原则 7. InnoDB性能调优 - InnoDB存储引擎的性能调优 - 缓冲池和日志系统的优化 - 文件IO和磁盘性能的优化 - 服务器参数和配置优化 8. 分分表 - 分分表架构设计 - 按需扩展和数据迁移 - 分布式事务和一致性 - 分表策略和路由规则 9. 高可用集群 - 数据架构设计和分片策略 - 自动化运维和故障恢复 - 高可用备份和恢复 - 数据一致性和性能优化 10. SQL解析和执行过程 - SQL解析器的工作原理 - 查询优化器的优化策略 - 执行引擎的执行过程 - 索引扫描和排序算法 这些是MySQL 45讲的主要内容和知识点,通过学习和理解这些内容,可以深入了解MySQL的架构和内部原理,并能够进行性能调优和架构设计。 ### 回答2: 《MySQL 45讲》是一本深入讲解MySQL数据的书籍,内容丰富全面,涉及了数据基础知识、SQL语句、索引优化、事务与锁、复制原理等方面。以下是该书的思维导图。 数据基础知识方面,该书首先介绍了MySQL的架构与特点,包括MySQL Server、存储引擎、日志、缓存等组成部分。然后详细讲解了MySQL的数据类型、索引原理、查询优化器、表结构设计等内容。 SQL语句方面,该书对常用的SQL语句进行了解读,包括查询、插入、更新、删除等操作。同时,还介绍了SQL语句的执行流程、优化技巧和常见的性能问题及解决方法。 索引优化方面,该书重点介绍了索引的原理与使用方法。从B+树的结构入手,详细解释了索引的创建、维护和使用,以及索引的类型和优缺点。同时,还介绍了如何通过优化SQL语句和选择合适的索引来提升查询性能。 事务与锁方面,该书全面剖析了MySQL的事务特性和隔离级别,解释了事务的概念、ACID特性和并发控制问题。同时,深入讲解了MySQL的锁机制,包括共享锁、排他锁、行锁、表锁等,以及如何避免死锁和提升并发性能。 复制原理方面,该书详细介绍了MySQL的复制原理和架构,包括主从复制、半同步复制、组复制等。讲解了复制的配置方法和常见问题的解决方法,以及如何进行备切换和故障恢复。 通过《MySQL 45讲》的学习,读者将全面了解MySQL数据的原理和使用方法,具备了解决常见性能问题和优化数据的能力。这本书内容丰富、实用性强,非常适合MySQL开发人员和DBA阅读。 ### 回答3: 《MySQL 45讲》是针对MySQL数据的一本经典著作,也是很多MySQL开发者和DBA必读的一本书。下面是对该书的思维导图总结: 该书主要分为三个部分:基础篇、进阶篇和高手篇。 1. 基础篇: - MySQL基本架构:介绍了MySQL的架构和核心组件,包括连接器、查询缓存、分析器、优化器、执行器和存储引擎等。 - 日志系统:详细介绍了MySQL的日志系统,包括重做日志(redo log)和回滚日志(undo log)的机制和使用方式。 - 事务隔离:介绍了MySQL的事务隔离级别,包括读未提交、读已提交、可重复读和串行化,以及各种级别的实现方式和影响。 - 索引:详细讲解了MySQL索引的数据结构和原理,包括B树、B+树和哈希索引,以及索引的使用和优化技巧。 - 查询执行流程:分析了MySQL查询的执行流程,从SQL解析到查询优化和执行的整个过程,以及各个阶段的优化方法。 - 锁机制:介绍了MySQL的锁机制,包括共享锁和排他锁的概念和使用场景,以及锁的类型和粒度。 - SQL优化:提供了SQL性能优化的一些基本策略和技巧,包括索引优化、查询重写和分表等。 2. 进阶篇: - 查询优化器:深入介绍了MySQL查询优化器的工作原理和使用方法,包括查询重写、索引选择和执行计划的生成等。 - 数据备份与恢复:讲解了MySQL数据备份和恢复的方法和工具,包括物理备份和逻辑备份,以及主从复制和增量备份等。 - 主从复制:详细介绍了MySQL的主从复制原理和使用方法,包括复制的基本流程、数据同步方式和延迟问题的解决。 - 高可用架构:提供了一些MySQL高可用架构的选择和使用方法,包括主备复制、多主复制和MGR等。 - 影子:介绍了MySQL的影子技术,用于在生产环境不受影响的情况下进行性能测试和数据分析。 - 对账与差异:讲解了MySQL数据对账和差异检测的方法和工具,以及一些常用的差异处理方式和技巧。 3. 高手篇: - 参数调优:详细介绍了MySQL参数调优的方法和技巧,包括修改参数值和监控参数的方式。 - 慢查询优化:讲解了MySQL慢查询的原因和优化方法,包括慢查询日志的分析和优化器的干预。 - SQL解析和执行:深入分析了MySQL SQL语句的解析和执行过程,包括语法解析器和执行计划的生成方式。 - 字符集与编码:介绍了MySQL的字符集和编码的原理和应用,包括字符集的选择和转换方式。 - 存储引擎:详细介绍了MySQL的存储引擎,包括InnoDB、MyISAM和Memory等,以及它们的特点和应用场景。 总结起来,《MySQL 45讲》是一本全面介绍MySQL数据的著作,从基础的架构和原理到进阶的优化技巧和高级应用,涵盖了MySQL开发和管理的方方面面。无论是初学者还是经验丰富的开发者和DBA,都可以从中获得宝贵的知识和实践经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值