MySQL 01 02 章——数据库概述与MySQL安装篇

发布于:2025-02-11 ⋅ 阅读:(88) ⋅ 点赞:(0)

一、数据库概述

(1)为什么要使用数据库

  1. 数据库可以实现持久化,什么是持久化:将内存中的数据保存到硬盘上加以“固化”
  2. 持久化的主要作用是:将内存中的数据以某种格式(关系型数据库、磁盘文件、XML数据文件等)保存到硬盘上c56140ee50e34d918c1b1e5918a9f701.png

(2)数据库与数据库管理系统

1.2.1数据库的相关概念

  1. DB,数据库(Database):即存储数据的仓库,其本质是一个文件系统。它保存了一系列有组织的数据
  2. DBMS,数据库管理系统(Database Management System):用于建立、使用和维护数据库的软件。用户通过DBMS访问数据库中表内的数据
  3. SQL,结构化查询语言(Structured Query Language):专门用来与数据库通信的语言

1.2.2数据库与数据库管理系统的关系

  1. 一个数据库管理系统(DBMS)可以管理多个数据库(DB),一般开发人员会针对每一个应用创建一个数据库
  2. MySQL5.7和MySQL8.0就是两个不同的数据库管理系统了

1.2.3常见的数据库管理系统(DBMS)

目前互联网上常见的数据库管理软件有:Oracle、MySQL、MS SQL Server、DB2、PostgreSQL、Access、Sybase、Informix这几种

(3)MySQL介绍

1.3.1概述

  1. MySQL是一个开放源代码的关系型数据库管理系统
  2. MySQL6.x版本之后分为社区版(免费)和商业版(收费)
  3. MySQL可以运行于多个系统上(我们学习了在Windows上的MySQL和在Linux上的MySQL),并且支持多种语言

1.3.2关于MySQL 8.0

MySQL从5.7版本直接跳跃发布了8.0版本

1.3.3Why choose MySQL?

  1. 开放源代码,使用成本低
  2. 性能卓越,服务稳定
  3. 软件体积小,使用简单,并且易于维护
  4. 历史悠久,社区用户非常活跃,遇到问题可以寻求帮助
  5. 许多互联网公司在用,经过了时间的验证

1.3.4Oracle vs MySQL

  1. Oracle更适合大型跨国企业的使用。因为他们对费用不敏感,但是对性能要求以及安全性有更高的要求
  2. MySQL由于其体积小、速度快、总体拥有成本低,可处理上千万条记录的大型数据库,尤其是开放源码这一特点,使得很多互联网公司、中小型网站选择了MySQL作为网站数据库

(4)RDBMS与非RDBMS

关系型数据库是DBMS的主流,其中使用最多的DBMS分别是Oracle、MySQL和SQL Server。这些都是关系型数据库(RDBMS)

1.4.1关系型数据库(RDBMS)

  1. 关系型数据库模型是把复杂的数据结构归结为简单的二维表格形式
  2. 关系型数据库以行(row)和列(column)的形式存储数据。这一系列的行和列被称为表(table),一组表组成了一个库(database)
  3. 关系型数据库,就是建立在关系模型基础上的数据库
  4. SQL就是关系型数据库的查询语言
  5. 优势:
    1. 可以用SQL语句方便地在一个表以及多个表之间做非常复杂的数据查询
    2. 使得对于安全性能很高的数据访问要求得以实现

1.4.2非关系型数据库(非RDBMS)

  1. 非关系型数据库,可以看成传统关系型数据库的功能阉割版本,基于键值对存储数据,不需要经过SQL层的解析,性能非常高。同时,通过减少不常用的功能,进一步提高性能
  2. 有哪些非关系型数据库:键值型数据库(Redis)、文档型数据库(MongoDB)、搜索引擎数据库(Elasticsearch)、列式数据库、图形数据库

(5)关系型数据库设计规则

  1. 关系型数据库的典型数据结构就是数据表
  2. 将数据放到表中,表再放到库中
  3. 一个数据库中可以有多个表,每个表都有一个名字,用来标识自己,表名具有唯一性
  4. 表具有一些特性,这些特性定义了数据在表中如何存储(字段的数据类型,有的字段还有约束),类似Java和Python中“类”的设计

1.5.1表、记录、字段

  1. E-R(entity-relationship,实体-联系)模型中有三个主要概念是:实体集、属性、联系集
  2. 一个实体集(class)对应于数据库中的一个表(table),一个实体(instance)则对应于数据库表中的一行(row),也称为一条记录(record)。一个属性(attribute)对应于数据库表中的一列(column),也称为一个字段(field)
  3. ORM思想(Object Relational Mapping):
    1. 数据库中的一个表→Java或Python中的一个类
    2. 表中的一条数据→类中的一个对象(实体)
    3. 表中的一个列→类中的一个属性(field)

1.5.2表的关联关系

  1. 表的关联关系有四种:一对一关联、一对多关联、多对多关联、自我引用
  2. 一对一关联:
    1. 在实际的开发中应用不多,因为一对一关联可以创建成一张表
    2. 举例:设计学生表:学号、姓名、手机号码、班级、系别、身份证号码、家庭住址、籍贯、紧急联系人、......(1)拆为两个表:两个表的记录是一一对应关系(2)基础信息表(常用信息):学号、姓名、手机号码、班级、系别(3)档案信息表(不常用信息):学号、身份证号码、家庭住址、籍贯、紧急联系人、......
  3. 一对多关联:
    1. 常见实例场景:客户表和订单表、分类表和商品表、部门表和员工表
    2. 举例:(1)员工表:员工编号、姓名、...、所属部门(2)部门表:部门编号、名称、简介
  4. 多对多关联:
    1. 要表示多对多关系,必须创建第三个表,该表通常称为联接表,它将多对多关系划分为两个一对多关系。将这两个表的主键都插入到第三个表中23bc9fd155a44ad09ce1c45252498aa8.png
    2. 举例1:学生——课程(1)学生信息表:一行代表一个学生的信息(学号、姓名、手机号码、班级、系别)(2)课程信息表:一行代表一个课程的信息(课程编号、授课老师、简介)(3)选课信息表:一个学生可以选多门课,一门课可以被多个学生选择
    3. 举例2:产品——订单(1)产品表:产品表中的每条记录表示一个产品(2)订单表:订单表中的每条记录表示一个订单(3)订单明细表:每个产品可以与订单表中的多条记录对应,即出现在多个订单中。一个订单可以与产品表中的多条记录对应,即包含多个产品
  5. 自我引用

二、MySQL环境搭建

(1)MySQL的卸载

  1. 步骤一:停止MySQL服务。在卸载之前,先停止MySQL的服务。按键盘上的“Ctrl+Alt+Delete”组合键,打开“任务管理器”对话框,可以在“服务”列表找到MySQL的服务,如果处于“正在运行”状态,可以右键单击它,选择“停止”选项来停止MySQL的服务
  2. 步骤二:软件的卸载(使用控制面板的软件卸载,去卸载MySQL DBMS软件的安装位置D:\MySQL\MySQL Server 8.0)
  3. 步骤三:手动删除数据库文件C:\ProgramData\MySQL\MySQL Server 8.0\Data
  4. 步骤四:清理注册表(win+R,输入regedit)
  5. 步骤五:删除环境变量配置,并重启电脑

(2)MySQL的下载、安装、配置

2.2.1MySQL的四大版本

  1. MySQL Community Server 社区版本:开源免费,自由下载,但不提供官方技术支持,适用于大多数普通用户

  2. MySQL Enterprise Edition 企业版本:需付费,不能在线下载,可以试用30天。提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要求较高的企业客户

  3. MySQL Cluster 集群版:开源免费。用于架设集群服务器,可以将几个MySQL Server封装成一个Server。需要在社区版或企业版的基础上使用

  4. MySQL Cluster CGE 高级集群版:需付费

2.2.2软件的下载

  1. 下载地址:http://www.mysql.com7d366b01144740b18c6e84111e64d3c8.png
  2. 点击DOWNLOADS,下滑,点击MySQL Community (GPL) Downloads42dc594e54384b70897254134fe76b34.png
  3. 点击MySQL Community Serverb2852ac6fac140fbbc9d15d23216b2a1.png
  4. 选择想要下载的版本(Archives处有更多版本可以选择),点击Go to Download Page超链接dde656b1e87a4549969ed367d6e70c41.png1e5b6a5260574f6c884a3d64518a9737.png
  5. 下载它3f261cc9bf8e456b92c9058ea3099f3c.pngce551a96aa7a45cd86ba825e0a61fc62.png

2.2.3MySQL8.0版本的安装

  1. 双击下载好的msi(msi下载和配置是一起完成的,如果下载的是zip,还要再单独进行配置)
  2. 选择Custom,点击nextaf77179b78524e36b4f56c950204db06.png
  3. 选择自己要安装的服务器版本5ceae30849254276ab764969951584ea.png
  4. 选择安装位置,点击Advanced Options超链接c7694ced6706464f82d03bced05d1ef1.png60586d56c5214a60889c73a101758b9a.png1c61a60d470748688178fb8601c7c5a1.png
  5. 一直点next,然后点击Execute1740799511404c9bab5f32c863add21a.png344225cb70954d1c961638a4851f2307.png

2.2.4配置MySQL8.0

  1. 在该界面点击next,再点击nexte2a6636512fa49d7ab312c93217a7593.png89703b0fd65241218539247b24abc9b0.png
  2. 加密规则可以不用修改9d8ce43ad4e8438a9aceace4c2abaa94.png
  3. 设置root用户的密码(比如:123456),设置完点击nextee2012c437694b1f9d06e5a9853451c7.png
  4. Start the MySQL Server at System Startup表示开机自启,然后一直点nextea594e7578484c489b561b2082adf53d.png
  5. 点击Execute1fdfa9dfdef34abdb79a5256e916d2fa.png8b23f30f5e934dafa26452de37ea4290.png
  6. 可以看到软件已经安装完成4d481c85bd6a4d6991cd3a41aa6dd0d3.png

2.2.5配置MySQL8.0环境变量

  1. 如果不配置MySQL环境变量,就不能在命令行直接输入MySQL登陆命令
  2. 步骤一:右击此电脑,点击属性
  3. 步骤二:在系统窗口中选择高级系统设置da9ed3cecb5c4290a585282d524f04f6.png
  4. 步骤三:点击环境变量cf13462c16a445fc8feffb8912969759.png
  5. 步骤四:编辑Path变量ca364c4b46ae4822b0727c247f04db2c.png
  6. 步骤五:将MySQL应用程序的bin目录添加到变量值中5009d7ca654640bda6c14171a90101b3.png

2.2.6MySQL5.7版本的安装、配置

  1. 步骤几乎和8.0版本一致。因为已经下载过8.0版本,此时还想下载5.7版本,我们点击Add。端口号改为13306035a36d26f054179b11e22500b8fd779.png
  2. 一个电脑中可以下载安装多个MySQL,只要保证进程端口号不同即可
  3. 如果下载了多个MySQL,环境变量只要配一个。如果我们配的是8.0版本,那么e9c3f43f8b7247ca8354ed346bd82134.png
  4. 如果想连接8.0版本4d2ba264a84b4997a098c015db563a64.png
  5. 如果想连接5.7版本(就是改变了端口,在我的电脑中8.0版本是3306端口,5.7版本是13306端口)2f2b14ed92a04075a01038ab9fea9cb0.png

(3)MySQL的登录

2.3.1服务的启动与停止

MySQL安装完毕之后,需要启动服务器进程,才能使用MySQL

在前面的配置过程中,已经将MySQL安装为Windows服务,并且勾选当Windows启动、停止时,MySQL也自动启动、停止

  1. 方式一:使用图形界面工具(1)右击此电脑,选择“管理”(2)服务和应用程序→服务10a03ab219e546c4a2fe02ad204e6f03.png
  2. 方式二:使用命令行工具(以管理员身份运行)。必须先启动服务,才能登录成功167031b5549642d0a6eec1a4fee528e4.pngcf729a96a78a49779929a2c252994045.png

2.3.2MySQL自带客户端的登录与退出

  1. 登陆方式1:MySQL自带客户端656573f96da845a7993cb010c1cbbbd0.pngc89d1bdce9624a4d9cb31ad77980fe50.png
  2. 登陆方式2:Windows命令行9aeae6ee593c49adae96e08d6738ba30.png
  3. -u后面可以有空格,-p后面不能有空格
  4. Windows命令行登录mysql还可以这么写(推荐使用该方式,这样密码不会暴露出来):b6cca4931a1744a8ae2cdba33addb8c9.png
  5. 不加-P端口号时,默认登陆的是环境变量配置的MySQL版本

2.3.3退出登录和查看版本信息

  1. 退出登录:quit或exit
  2. 查看版本信息(两种方式:先登录再查看,直接查看): 62d1d6e5912d44d6ac40a6eaa1986dbc.pngversion()是一个函数8804d62d7c3b4b8dab7018e19bfc0bca.pngmysql --version是在没有登录MySQL服务器的情况下,查看MySQL版本

(4)MySQL演示使用

2.4.1MySQL的使用演示

  1. 显示数据库7419ac92067c49688292eaef59b98725.png
  2. 创建数据库563c9dad011d478f9f2a0c5b3263cbe8.png
  3. 创建表,必须在库之下ca69319019a54777bae64a726d3c6ec0.png
  4. 查看表中的数据1743f46e7d904004ba5103fab9442824.png
  5. 向表中插入数据2d8a761aec5941e7ace15e5426e90873.png
  6. 在5.7版本中添加中文会报错,但是在8.0版本中添加中文不会报错(因为8.0版本的字符集是utf8,而5.7版本的字符集是latin)cb6100e7f1a14fe09dcd7c511ee88405.png

2.4.2MySQL的编码设置

  1. 查看编码命令(collation的中文意思是比较规则):9b82b9b206984992b4380f34252de276.png89868bc04f684adbbbffb1f5f14e492b.png
  2. 修改mysql的数据目录下的my.ini(在Linux环境下叫my.cnf)配置文件,修改完以后要重启服务才会生效3c49c8792ba64f61a24cb5554a26d5c4.png4c1ff09ca0f04baa84679038d5e16f0f.png11e0e2ba004142529780d06445bbf8c5.png
  3. 可以看到修改成功,此时在5.7版本下,也可以添加中文数据65583364d9a2409083d01e45b96a0d4f.png

(5)MySQL图形化管理工具

MySQL图形化管理工具有MySQL Workbench、Navicat、SQLyog、dbeaver等

(6)MySQL目录结构

MySQL的主要目录结构:

MySQL的目录结构 说明
bin目录 所有MySQL的可执行文件。如:mysql.exe
MySQLInstanceConfig.exe 数据库的配置向导,在安装时出现的内容
data目录 系统数据库所在的目录
my.ini文件 MySQL的主要配置文件(在Windows环境下)
C:\ProgramData\MySQL\MySQL Server 8.0\Data\ 用户创建的数据库所在的目录

该笔记根据尚硅谷的MySQL课程整理


网站公告

今日签到

点亮在社区的每一天
去签到