欢迎光临散文网 会员登陆 & 注册

单元1 数据库基础知识

2023-08-21 09:23 作者:Iam107  | 我要投稿

附加乱七八糟的知识点

(1)关于MySQL发音的官方答案:
The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”), but we do not mind if you pronounce it as “my sequel” or in some other localized way.

(2)碰到的问题:

A  一个正常10毫秒就能完成的SQL查询请求偶尔要执行100多毫秒才结束。

B 当在代码里写下一行数据库命令的时候,我就能想到它在数据库端将怎么执行,它的性能是怎么样的,怎样写能让我的应用程序访问数据库的性能最高。

C 哪些数据处理让数据库系统来做性能会更好,哪些数据处理在缓存里做性能会更好;

在建表和建索引的时候,我也会更有意识地为将来的查询优化做综合考虑,比如确定是否使用递增主键、主键的列怎样选择,等等。

D 给学生介绍的路线

   MYSQL实战45讲中的观点:

【1】我带过十几个应届毕业生,看着他们成长,要求他们原理先行,再实践验证。几年下来,他们的成长速度都很快,其中好几个毕业没两年就成为团队的骨干力量了。我也在社招的时候面试过很多有着不错的运维实践经验和能力的候选人,但都因为对数据库原理仅有一知半解的了解,而最终遗憾地没有通过面试。

   【2】 激发开发者对数据库原理的探索欲,从而更好地理解工作中遇到的问题,更能知道背后的为什么。所以我会选那些平时使用数据库时高频出现的知识,如事务、索引、锁等内容构成专栏的主线。这些主线上是一个个的知识点。每个点就是一个概念、一个机制或者一个原理说明。

  【3】希望能以这样的方式,让你对MySQL的几条主线有一个整体的认识,并且了解基本概念。在之后的实践篇中,我会引用到这些主线的知识背景,并着力说明它们是怎样指导实践的。这样,你可以从点到线,再到面,形成自己的MySQL知识网络。

  尚硅谷

【1】

1.1 数据库概述

1、为啥要使用数据库呢?

   持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。

 持久化的主要作用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。生活中例子,举例QQ

2、DB 与DBMS、SQL

  • 数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体用户的数据。

  • 常见的数据库管理系统排名(DBMS)

目前互联网上常见的数据库管理软件有Oracle、MySQL、MS SQL Server、DB2、PostgreSQL、Access、Sybase、Informix这几种。以下是2021年DB-Engines Ranking 对各数据库受欢迎程度进行调查后的统计结果:(查看数据库最新排名: https://db-engines.com/en/ranking


具体的数据库介绍(每个DBMS的介绍,见 尚硅谷的第01章 数据库概述)

重点突出MYSQL

关于MySQL 8.0

MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL Optimizer优化器进行了改进。不仅在速度上得到了改善,还为用户带来了更好的性能和更棒的体验。

为啥这么多公司用呢?

  1. 开放源代码,使用成本低。

  2. 性能卓越,服务稳定。

  3. 软件体积小,使用简单,并且易于维护。

  4. 历史悠久,社区用户非常活跃,遇到问题可以寻求帮助。

  5. 许多互联网公司在用,经过了时间的验证。


可以扩展给学生讲的东西

  1. oracle VS  MySQL

Oracle 更适合大型跨国企业的使用,因为他们对费用不敏感,但是对性能要求以及安全性有更高的要求。MySQL 由于其体积小、速度快、总体拥有成本低,可处理上千万条记录的大型数据库,尤其是开放源码这一特点,使得很多互联网公司、中小型网站选择了MySQL作为网站数据库(Facebook,Twitter,YouTube,阿里巴巴/蚂蚁金服,去哪儿,美团外卖,腾讯)。

  1. RDBMS VS 非RDBMS

NoSQL 泛指非关系型数据库,包括了榜单上的键值型数据库、文档型数据库、搜索引擎和

列存储等,除此以外还包括图形数据库。也只有用 NoSQL 一词才能将这些技术囊括进来。

键值型数据库:通过 Key-Value 键值的方式来存储数据,其中 Key 和 Value 可以是简单的对象,也可以是复杂的对象。Key 作为唯一的标识符,优点是查找速度快,在这方面明显优于关系型数据库,缺点是无法像关系型数据库一样使用条件过滤(比如 WHERE),如果你不知道去哪里找数据,就要遍历所有的键,这就会消耗大量的计算。键值型数据库典型的使用场景是作为内存缓存。Redis 是最流行的键值型数据库。

NoSQL 对 SQL 做出了很好的补充,比如实际开发中,有很多业务需求,其实并不需要完整的关系型数据库功能,非关系型数据库的功能就足够使用了。这种情况下,使用性能更高、成本更低的非关系型数据库当然是更明智的选择。比如:日志收集、排行榜、定时器等。

在 DBMS 排名中,还是 SQL 阵营的比重更大,影响力前 5 的 DBMS 中有4 个是关系型数据库,而排名前 20 的 DBMS 中也有 12 个是关系型数据库。所以说,掌握 SQL 是非常有必要的


1.2 MySQL的安装与配置

先讲解过程,可以参考【尚硅谷】的该章节,然后 参考教材中的【综合实训】 安装和配置MySQL服务器  P24部分。

参考网页:(102条消息) MySql免安装版下载及安装_感谢相遇Y(^_^)Y的博客-CSDN博客_mysql免安装版

用命令提示符,不用用powershell

我修改密码为111111

测试部分

参考MOOC题目,在学习通上展现

操作记录:出现问题以及解决方案的记录

【1】启动DBeaver时,提示无法连接,那肯定是因为mysql没有启动,于是,启动

net start mysql,但是出错

查阅以后,原来是命令窗口不是管理员,于是用管理员启动cmd

从左上角可以看出来差异。

【2】问题2,打开dbeaver仍然出错!

然后呢:

解决

在新建连接的时候,驱动属性里设置 allowPublicKeyRetrieval 的值为 true

如果是JDBC连接报错,只需要在连接后加上:allowPublicKeyRetrieval=true即可

3】查看mysql的端口号

第一步,启动mysql  

输入如图所示的命令行 mysql这个是服务名哦 如果安装版的就是mysqld如果解压版的就是自己设置的哦 输入密码进入

然后我们打开安装目录文件夹下的my.ini 配置文件 找到如图所示的项 修改你想要的端口号 保存(这个也是很简单的查看当前端口号的方法哦)

然后打开然后打开计算机管理界面的服务 找到服务项后点击重启选项


重启完毕后 重新进入大家可以看到 我这次进入的命令行和之前不一样 那是因为端口号不是默认的了 需要在这里指定 然后同样的方法 你会看到端口号已经改变了

这里呢,启动mysql后,命令行里就得使用-P新端口号

使用默认端口的时候,不需要-P


单元1 数据库基础知识的评论 (共 条)

分享到微博请遵守国家法律