学完了C++语法之后该学什么??(数据库篇)

Souleigh ✨ 等级 1094 0 0

数据库与中间件

==========

主要是MySQLMongDBRedisNginx等;

在大学的课程里,一般都会开设一门数据库的课程,不过这门数据库是没有针对某一种数据库语言的(例如 MySQL、SQlite)。不过我这里只讲 MySQL,因为最频繁。数据库不在多。

把MySQL学好,还是特别重要的,千万不能停留在会用的层面上,而是应该要了解一下原理,特别是对于要面试的同学,会问挺多原理,不一定要写得很号,但是需要知道一些原理,像腾讯、阿里面试时,面得最多的就是MySQL。下面就说说一些知识以及推荐的学习资料吧。

对于 MySQL,需要学的还挺多的,例如,

1、一条 sql 语句是如何执行的?进行更新时又是怎么处理的?

2、索引是如何实现的?多种引擎的实现区别?聚族索引,非聚族索引,二级索引,唯一索引、最左匹配原则等等(非常重要)

3、事务相关:例如事务的隔离是如何实现的?事务是如何保证原子性?不同的事务看到的数据怎么就不一样了?难道每个事务都拷贝一份视图?MVCC 的实现原理(重要)等等。

4、各种锁相关,例如表锁,行锁,间隙锁,共享锁,排他锁。这些锁的出现主要是用来解决哪些问题?(重要)

5、日志相关:redolog,binlog,undolog,这些日志的实现原理,为了解决怎么问题?日志也是非常重要的吧,面试也问的挺多。

6、数据库的主从备份、如何保证数据不丢失、如何保证高可用等等。

还有一些常用命令也要知道。下面就是关于mysql面试题的思维导图。

学完了C++语法之后该学什么??(数据库篇)

推荐书籍:连 sql 都不会写的,推荐《SQL必知必会》,接着推荐《MySQL技术内幕:InnoDB存储引擎》。

收藏
评论区

相关推荐

学完了C++语法之后该学什么??(数据库篇)
数据库与中间件 主要是MySQL、MongDB、Redis、Nginx等; 在大学的课程里,一般都会开设一门数据库的课程,不过这门数据库是没有针对某一种数据库语言的(例如 MySQL、SQlite)。不过我这里只讲 MySQL,因为最频繁。数据库不在多。 把MySQL学好,还是特别重要的,千万不能停留在会用的层面上,而是应该
mysql基础入门_thankszmy的博客
一、MYSQL 安装下载完后,我们将 zip 包解压到相应的目录,这里我将解压后的文件夹放在 C:\\web\\mysql8.0.15winx64 下。打开刚刚解压的文件夹 C:\\web\\mysql8.0.15winx64,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息: [mysql] 设置mysql客户端默认字符集
MySQL(一)MySQL基础介绍
最近的学习内容是数据库相关的一些知识,主要以MySQL为主,参考书籍——《MySQL必知必会》MySQL学习及下载地址:https://dev.mysql.com/MySQL学习使用注意事项:1、必须访问一个已有的MySQL服务器,需要一个服务器账号(一个登录名和一个口令)2、MySQL运行在所有主要平台上,包括Windows、Linux、Solaris、M
MySQL 内核线程简要分析
若接触过Oracle的学者,想必应该都知道Oracle的体系结构,Oracle体系结构中涉及的进程诸如:PMON、SMON、LGWR、CKPT、DBWR\_N等等 那MySQL里面的线程是怎么样的呢?(因为MySQL是单进程多线程结构),带着这个疑问,进行了查阅资料及调试,总结为:MySQL启动时,默认是23个线程。 实验环境 Linux: CentO
MySQL入门教程系列-1.5 如何学习MySQL
![如何学习MySQL](https://static.oschina.net/uploads/img/201609/28191455_SRPf.png "MySQL入门教程系列-1.5 如何学习MySQL") [![](https://jaywcjlove.github.io/sb/ico/mysql.svg)](https://www.oschina.
MySQL学习【第四篇mysql体系结构管理】
一.客户端与服务端模型 =========== 1.mysql是一个典型的c/s服务结构 -------------------- 1.mysql自带的客户端程序(/application/mysql/bin) mysql       mysqladmin   mysqldump 2.市面上大部分的开发语言都需要一个客户端连接程序连接mysql的服务
MySQL数据库基础——本地文件交互
从这一篇开始,大概会花四五篇的内容篇幅,归纳整理一下之前学过的SQL数据库,一来可以为接下来数据分析工作提前巩固基础,二来把以前学的SQL内容系统化、结构化。 今天这一篇仅涉及MySQL与本地文本文件的导入导出操作,暂不涉及主要查询语言以及MySQL与R语言和Python的交互。 平台使用Navicat Premium(当然你也可以使用MySQL自带的w
MySQL的四种GROUP BY用法
**导读** > **译者******:****魏新平 > > 知数堂第5期MySQL实战班学员,第10期MySQL优化班学员,现任职助教。 > > **原文出处:****https://www.percona.com/blog/2018/02/05/four-ways-to-execute-mysql-group-by/** > > **原文作者:
Mysql日志解析
转载:https://www.cnblogs.com/Fly-Wind/p/5674382.html -------------------------------------------------- 修改Mysql配置 --------- Mysql配置地址为: C:\Program Files (x86)\MySQL\MySQL Serv
Mysql简要概述
Mysql学习笔记 --------- 1. Mysql简介: ​ `Mysql`是一个轻量级关系型数据库管理系统,由瑞典`Mysql AB`公司开发,目前属于`Oracle`公司。目前`Mysql`被广泛地应用在Internet上的中小型网站中,由于体积小、速度快、总体拥有成本低、开放源码、免费等特点,一般中小型网站的开发都选择`Linux`+`My
mysql 分页查询语句数据库查询
mysql分页查询是我们经常见到的问题,那么应该如何实现呢?下面就教您一个实现[mysql](https://www.oschina.net/action/GoToLink?url=http%3A%2F%2Fdatabase.51cto.com%2Fart%2F201011%2F232949.htm)分页查询的好方法,供您参考学习。 mysql中利用sel
mysql,基础命令
一  配置文件 \[mysqld\] \# 设置mysql的安装目录 \*\*后面的路径一定是安装sql的目录(自己电脑的)\*\* basedir=C:\\mysql-5.7.22-winx64\\mysql-5.7.22-winx64 \# 设置mysql数据库的数据的存放目录,必须是data datadir=C:\\mysql-5.7
mysql错误:The MySQL server is running with the
本文为大家讲解的是mysql错误:The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement解决方法,感兴趣的同学参考下。 错误描述: mysql> grant all on cactidb.\* to dbuser
Swoole Redis 连接池的实现
**第 85 篇文章** 这是关于 Swoole 入门学习的第九篇文章:Swoole Redis 连接池的实现。 * [第八篇:Swoole MySQL 的实现](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fmp.weixin.qq.com%2Fs%3F__biz%3DMjM5N
TiDB Ecosystem Tools 原理解读系列(三)TiDB
作者:张学程 简介 -- TiDB-DM(Data Migration)是用于将数据从 MySQL/MariaDB 迁移到 TiDB 的工具。该工具既支持以全量备份文件的方式将 MySQL/MariaDB 的数据导入到 TiDB,也支持通过解析执行 MySQL/MariaDB binlog 的方式将数据增量同步到 TiDB。特别地,对于有多个 MySQL