JavaWeb-24-MySQL概述

MySQL-概述

1. 数据库简介

1.1. 举例
  • 数据库:DataBase(DB),是存储和管理数据的仓库。

  • 像我们生活中:

    • 电商网站:京东、淘宝、天猫等。

      image-20230827190109972


    • 企业内部管理系统:OA、CRM、ERP等。

      image-20230827190134542


    • 单位系统:银行、证券、医院、政府等。

      image-20230827190148081


    • APP:今日头条、抖音等。

      在这里插入图片描述



  • 像这些Web网站、应用软件所呈现出来的这些数据并不是在页面写死的,这些数据都是在数据库当中存储和管理的。
    在这里插入图片描述

1.2. DBMS & SQL

在这里插入图片描述

1.3. 思考
  • 数据库仅仅是一个存储和管理数据的仓库,如果要修改数据库中的数据该如何进行?

  • 可以通过一个软件去操作数据库中的数据:

    • 数据库管理系统DataBase Management System (DBMS),操纵和管理数据库的大型软件。

1.4. 思考
  • DBMS这个软件如何知道我们要操作的是哪个数据库中的哪一条数据?如何知道我们要进行的是增、删、改、查一系列的操作呢?

  • 此时我们需要告诉这个软件要执行的是什么操作,要对哪一条数据进行操作,需要给这个软件发送一条指令:

    • SQL:Structured Query Language,操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准

1.5. 主流数据库产品
1.5.1. 产品介绍
  • 关系型数据库产品排名:

    image-20230827190701935

  • 介绍:

    名称介绍
    Oracle收费的大型数据库,Oracle公司的产品。
    MySQL开源免费的中小型数据库。2008年Sun公司收购了MySQL,2009年Oracle收购Sun公司。
    SQL ServerMicroSoft公司收费的中型的数据库。C#、.net等语言常使用。
    PostgreSQL开源免费中小型的数据库。
    DB2IBM公司的大型收费数据库产品。
    SQLite嵌入式的微型数据库。如:作为Android内置数据库
    MariaDB开源免费的中小型的数据库。

1.5.2. 思考
  • 现在学习MySQL数据库,以后在公司上班如果用到的是Oracle、SQL Server、DB2等这些数据库怎么办?

  • 关系型数据库

    • 不用担心,因为以上介绍的这些数据库都是属于关系型数据库,要操作关系型数据库,都是通过SQL语句来操作的。

    • 而SQL语句又是操作关系型数据库的统一标准

    • 因此只要学会SQL语句,就可以通过SQL语句来操作关系型数据库中的任意数据库产品软件。

      image-20230827190757019


1.6. 课程学习

image-20230827190820852

  • 目前阶段学习主要先达成数据库设计、操作方面的能力。
  • 对于数据库优化目前阶段先讲解数据库当中优化最重要的一个手段:索引
  • 具体的数据库优化实践还需要结合项目阶段进行一个有效地锻炼。
  • 因此,在后面的阶段还会讲解数据库优化以及分布、分表等相关内容。


2. 概述

2.1. 安装 & 配置
  • MySQL官方提供了两种不同的版本:

    image-20230827190925598

  • 我们采用的是MySQL的最新社区版(MySQL Community Server 8.0.31)。


(1) 下载
  • ① 点开下面的链接:MySQL下载

    image-20230827191034179

    image-20230827191058988

  • 点击Download 就可以下载对应的安装包了, 安装包如: image-20230827191137912


(2) 解压
  • ① 下载完成后我们得到的是一个压缩包,将其解压,我们就可以得到MySQL 8.1.0的软件本体了(就是一个文件夹),我们可以把它放在你想安装的位置 (最好是全英文无空格路径)。

    image-20230827191219248


(3) 配置
  • 添加环境变量:
    • 环境变量里面有很多选项,这里我们只用到Path这个参数。为什么在初始化的开始要添加环境变量呢?
    • 在黑框(即CMD)中输入一个可执行程序的名字,Windows会先在环境变量中的Path所指的路径中寻找一遍,如果找到了就直接执行,没找到就在当前工作目录找,如果还没找到,就报错。我们添加环境变量的目的就是能够在任意一个黑框直接调用MySQL中的相关程序而不用总是修改工作目录,大大简化了操作。

① 右键此电脑属性,点击高级系统设置

image-20230827191311991

在这里插入图片描述

② 点击环境变量

在这里插入图片描述

③ 在系统变量中新建MYSQL_HOME

image-20230827191530761

④ 在系统变量中找到Path ,点击编辑

在这里插入图片描述

  • 最后点击确定。

(4) 验证

如何验证是否添加成功?

  • ① 点击开始菜单(就是屏幕左下角),搜索命令提示符以管理员身份打开,敲入mysql,回车。

image-20230827191651381

  • ② 如果提示==Can’t connect to MySQL server on ‘localhost’==则证明添加成功;

image-20230827192851249

  • ③ 如果提示mysql不是内部或外部命令,也不是可运行的程序或批处理文件则表示添加添加失败,请重新检查步骤并重试。

2.2. 初始化MySQL
  • ① 以管理员身份,运行命令行窗口:

image-20230827191744537

  • ② 在刚才的命令行中,输入如下的指令:

    mysqld --initialize-insecure
    

    image-20230827191757702

  • ③ 稍微等待一会,如果出现没有出现报错信息,则证明data目录初始化没有问题,此时再查看MySQL目录下已经有data目录生成。

    • tips:如果出现如下错误

    image-20230827191812270

    是由于权限不足导致的,以管理员方式运行 cmd

    image-20230827191822481


2.3. 注册MySQL服务
  • ① 命令行(注意必须以管理员身份启动)中,输入如下的指令,回车执行:

    mysqld -install
    

    image-20230827192926958

  • 现在你的计算机上已经安装好了MySQL服务了。


2.4. 启动MySQL服务
  • ① 在黑框里敲入net start mysql,回车。

    net start mysql  // 启动mysql服务
        
    net stop mysql  // 停止mysql服务
    

image-20230827192950006


2.5. 修改默认账户密码
  • 在黑框里敲入mysqladmin -u root password 1234,这里的1234就是指默认管理员(即root账户)的密码,可以自行修改成你喜欢的。

  • 学习阶段不建议设置太难记的密码。

    mysqladmin -u root password 1234
    

    image-20230827193009035


2.6. 登录-退出-卸载MySQL
  • ① 右键开始菜单,选择命令提示符,打开黑框。

    • 在黑框中输入,mysql -uroot -p1234,回车,出现下图且左下角为mysql>,则登录成功。

      mysql -uroot -p1234
      

      image-20230827193024488


到这里你就可以开始你的MySQL之旅了!

  • 退出mysql:
exit 或 quit
  • 登录参数:

    mysql -u用户名 -p密码 -h要连接的mysql服务器的ip地址(默认127.0.0.1) -P端口号(默认3306)
    
    • -u:指定用户
    • -p:指定密码
    • -h:指定要连接的mysql服务器的ip地址,如果不指定则默认是本机(127.0.0.1)
    • -P:指定端口号,如果不指定则默认是3306

如果你想卸载MySQL,也很简单。

  • ① 点击开始菜单,选择 “命令提示符”,选择右侧的 “以管理员身份运行”。

    image-20230827193054975

  • ② 敲入net stop mysql,回车。

    net stop mysql
    

    image-20230827193112385

  • ③ 再敲入mysqld -remove mysql,回车。

    mysqld -remove mysql
    

    image-20230827193143315

  • ④ 最后删除MySQL目录及相关的环境变量。

  • 至此,MySQL卸载完成!


2.7. MySQL-企业开发使用方式
(1) MySQL连接
  • 语法:

    mysql  -u用户名   -p密码   [ -h数据库服务器IP地址   -P端口号 ]
    

    image-20230827193257518

  • 这种方式也仅限于我们的学习阶段,以后进入到企业工作了,根本不需要我们在自己的电脑上安装MySQL数据库

  • 因为开发中,这台MySQL数据库中所存储的数据是需要多个开发人员共享的,如果安装在自己的电脑上,你一关机,别的开发人员无法访问了

    image-20230827193319508

  • 企业中,MySQL数据库是需要安装在一台专门的服务器上的

image-20230827193335643

  • 这个服务器如果是公司的核心业务服务器,一般不会放在公司里,需要托管在专业的机房中;

  • 因为要保证服务器中的应用软件是在一个恒温、恒湿、无尘,并且配备有完善的网络及电力系统的环境中稳定运行的。

    image-20230827193355558

  • 那要众多的开发人员应如何访问这个MySQL数据库?

    • 需要通过MySQL的客户端来远程连接这个MySQL服务器
      在这里插入图片描述

(2) 模拟企业开发使用方式
  • 我们在学习阶段想提前体验一下企业开发的使用方式,但是没有对应的服务器该如何?

  • 可以使用一款虚拟机软件:VMware

    • 通过它,可以虚拟出一台计算机(服务器)

    • 在自己的电脑上安装VMware

      image-20230827193432697

    • 接着通过它虚拟出一台服务器

      image-20230827193535363

    • 然后就可以在这台服务器上安装我们需要的各种软件

      image-20230827193549576

① 下载-安装-配置VMware

② CentOS7安装-配置MySQL

③ 连接服务器数据库

image-20230827194435033

  • 进一步测试:

    image-20230827194609700



2.8. 数据模型
2.8.1 关系型数据库
(1) RDBMS
  • 关系型数据库(RDBMS): 建立在关系模型基础上,由多张相互连接的二维表组成的数据库。

    image-20230828092615366

  • 非关系型数据库:不是通过表结构来存储数据的,比如后面要学习的redis



(2) RDBMS特点
  • 使用这种二维表来存储数据有很多的优点:

    • 使用表存储数据,格式统一,便于维护
    • 使用SQL语言操作,标准统一,使用方便,可用于复杂查询:
      • 例如:以下两张表通过部门这一列连接起来查询了
      • 除了在多张表之间使用复杂查询以外,还可以在一张表中进行一些统计、分析、排序分页等复杂操作

    image-20230828092848019


2.8.2 MySQL数据模型
  • 我们之前已经在自己的计算机上安装好了MySQL数据库,可以说我们的计算机是一台MySQL数据库服务器

    image-20230828093628390


  • 要操作这台MySQL数据库就需要通过MySQL的客户端来连接上这台MySQL数据库,之后才可以操作里面的数据

  • MySQL数据库服务器中已经内置了软件:数据库管理系统(DBMS)
    image-20230828104159943
    image-20230828103655904


  • 通过客户端来发送一条SQL语句给数据库管理系统,告诉它我们要创建一个数据库1

  • 此时数据库管理系统会根据我们的指令创建出数据库1

    image-20230828104639798

  • 这个数据库在计算机磁盘文件中是以文件夹的形式体现的

    image-20230828105454445

  • 当然,我们还可以再创建很多很多的数据库,因为在一个数据库服务器中可以创建多个数据库的,多个数据库之间是相互独立的,互不影响
    image-20230828110930393

  • 在数据库下,可以创建表结构来存储数据,而一个数据下是可以创建多张表结构的,而表结构中存储的就是一条一条的数据

  • 表是以磁盘文件的形式体现的,文件中存储的就是表结构中的数据,当我们查询这张表中数据的时候,数据库服务器就会把磁盘文件中的数据加载出来,最后以二维表形式呈现给我们

    image-20230828115853951



2.9. SQL简介
  • SQL:一门操作关系型数据库的编程语言,定义操作所有关系型数据库的统一标准。
2.9.1 语法
  • SQL语句可以单行或多行书写,以分号结尾

    • 例如:

      show databases
  • SQL语句可以使用空格/缩进来增强语句的可读性

    • 例如:

      show    databases
  • MySQL数据库的SQL语句不区分大小写

    • 例如:

      SHOW    DATABASES
  • 注释

    • 单行注释: 注释内容 或 # 注释内容(MySQL特有)

      -- show databases;
      
    • 多行注释: /* 注释内容 */

      /* show databases;*/
      


2.9.2 SQL分类
  • SQL语句通常被分为四大类
分类全称说明
DDLData Definition Language数据定义语言,用来定义数据库对象(数据库,表,字段)
DMLData Manipulation Language数据操作语言,用来对数据库表中的数据进行增删改
DQLData Query Language数据查询语言,用来查询数据库中表的记录
DCLData Control Language数据控制语言,用来创建数据库用户、控制数据库的访问权限
  • DCL:作为java开发人员很少用得到,因为只有企业中的数据库管理员经常用

image-20230828122736966


2.9.3 小结
  1. SQL通用语法
    • SQL语句可以单行/多行书写,以分号结束。
    • SQL语句中可以增加缩进/空格来增强可读性。
    • SQL语句中的关键字不区分大小写。
    • SQL语句注释:单行注释(-- 注释),多行注释(/* 注释 */)
  2. SQL分类
    • DDL
    • DML
    • DQL
    • DCL
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值