MySQL8.0数据库原理与应用随堂笔记

MySQL8.0数据库原理与应用随堂笔记MySQL 是一个开源的关系型数据库管理系统

大家好,欢迎来到IT知识分享网。

一、学习环境

windows 10或windows 11 非家庭版操作系统

vmware workstation 16.0版本

安装1台windows server 2019—–IIS WEB服务器

Linux操作系统 Centos 或 RHEL 安装mysql数据库服务器

应用系统服务器—–JSP、PHP、Python、.net、C#……

二、数据库概述

1、数据处理的历史

数据Data:凡是能被计算机处理的东西 如字母、数字、汉字、声音、图片、动画等均认为是数据

信息Information:数据—>处理—>信息 将数据处理为对人们的决策有帮助作用的数据的集合就是信息

2、数据处理有3个历史阶段

人工管理阶段 20世纪40-50年代 存储介质落后 纸带、磁带等 存在大量的冗余(重复)数据

文件系统阶段 20世纪50-60年代 FAT16、FAT32、NTFS 存在大量冗余数据 数据共享程度低 数据独立性低

数据库系统阶段 20世纪60年代中后期 数据库系统阶段 降低了数据的冗余度 提高了数据的独立性

3、数据库Database:

数据的仓库 Database 是一个存放数据库对象的容器

4、数据库管理系统:

DataBase Management System 如Mysql、SQL-Server、Access、DB2、SQL lite等均为数据库管理系统 属于系统软件的范围

5、数据库应用系统:

DataBase Application system 如学生信息管理系统、教务管理系统、OA办公自动化系统

6、数据库系统的组成:

Database System数据库系统由数据库DataBase、数据库管理系统DBMS、数据库库管理员DBA、数据库应用系统DBAS、计算机5硬件部分组成。

7、数据模型:

①概念模型:将客观事物抽象为计算机可以识别的东西的过程

②逻辑模型:E-R图 将概念模型抽象出的实体转换为E-R图的过程

③物理模型:将E-R图转换为数据库表的过程

8、实体:

客观存在的并且可以相互区别的事物 如1个人、1本书、1首歌等

9、属性:

列名称 描述实体的特征

10、码:

键 key 在一个表中至少应该有这样1个字段,这个字段所对应的值能够起到唯一标识表中记录的作用

11、实体集:

实体的集合 如1个人—–实体 1群人—–实体集

12、联系:

1对1、1对多、多对多

1对1 一夫一妻 班级与班长

1对多 班级与学生

多对多 教师与学生 教师与课程

13、E-R图中的知识点

矩形:实体

椭圆:属性

1、关系型数据库的基本概念

关系:用二维表的方式来表示实体和实体集之间的关系。实体:喜观存在的并且可以相互区别的事物,如1个人、1本书.实体集:一本书……实体 100本书…实体集

2.关系型数据库特征:

二维表的组成行和列,行列存储数据。

行表示一条记录,也称为元祖、实体信息。–﹣除了第1行

列表示一个字段,也称为属性,……只有第1行

3.库

理解为文件板、房子、容器

专业的理解:库理解为存体教据的最大的分类,一般在项目的开发过程中会根据项目来创建相应的库(一个项目创建一个年)

4.表

将用户数据存储到数据库表中,数据表存放到数据车中。

数据库表就是数据库中的一个对象,一般在开发软件项目的过程中会根据功能模块如业务需求

5.行与列

二维表 行 列

元组:二维表中的每1特,除了第1行

属性:二维表中的每1列,只有第1行

6.Mysql简介

Mysql属于数据库管理系统,属于系统软件,是DBMS。现在被Oracle公司收购。

7.企业为什么选择Mysql?

从公司运营角度的来讲,选择olyaql有着多种原因:

oracel是收费的;Mysql是免费的

Mysql主要从数据安全、稳定、技术服务

Mysql是开源的(源代码开放,免费)

8.从技术角度来看,

Mysql由于开源,可以带来两大优势

(1)可以更加了解软件运作的原理,更好的设置Mysql,一旦出现故障也可以 很快定位。

(2)可以更容易的开发周边产品。

所以Mysql对于初创公司、互联网公司和很多传统行业不管从功能还是性能,更多的是从成本的角度来讲Mysal是一个很好的选择。

9.Mysql数据库引擎

数据库引擎是用于存储、处理和保护数据的核心服务。Mysql数据库引擎非常多。使用show Engines可以查看当前数据库的引擎信息。

第二章 Vmware虚拟机安装操作系统

一、Vmware虚拟机介绍与学习环境规划

1、什么是虚拟机?

  • 虚拟机(virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,
  • 虚拟机系统是一个操作系统镜像,它具有与真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立环境上进行,可以独立安装应用软件、保存数据、拥有自己的独立桌面,不会对真正的系统产生影响,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。
  • 流行的虚拟机厂家有Vmware、Oracle virtual box、微软virtual PC等,它们都能在windows系统上虚拟出多个计算机(windowsЛinux)。

2、使用虚拟机的好处有哪些?

  • 演示环境,可以安装各种演示环境,便于做实验…-实验、学习环境申保证主机的快速运行,减少不必要的垃圾安装程序,偶尔使用的程序或者测试的程序可以在电廖拟机上运行
  • 避免每次重新安装操作系统
  • 体验不同版本的操作系统,如Mac-OS、Linux、windowsserver

3、Vmware workstation虚拟机介绍

  • Vmware workstation中文名威睿工作站。是一款功能强大的桌面虚拟化软件,提供用户可以在单一桌面上运行不同的操作系统,和进行开发、测试、部警新的应用程序的最佳解决方案。
  • Vmware workstation收费,非开源

4、实战内容

  • Vmware Workstation安装与配置

      ①官方网站下载www.vmware.com/cn

MySQL8.0数据库原理与应用随堂笔记

       ②提示:如果检查产品更新,会从官网下载最新安全补丁;

                   加入客户体验会造成个人信息泄露MySQL8.0数据库原理与应用随堂笔记

  • Vmware安装windows server 2019或windows server 2016

     ①在“此电脑”非系统盘如E盘或F盘,新建一个虚拟机系统目录Vm-Server   (E:\VM-Server)

     ②步骤

         文件..>新建虚拟机–>“自定义

MySQL8.0数据库原理与应用随堂笔记

MySQL8.0数据库原理与应用随堂笔记

MySQL8.0数据库原理与应用随堂笔记

MySQL8.0数据库原理与应用随堂笔记

MySQL8.0数据库原理与应用随堂笔记

③安装windows server 2019

     ④windows server 2019激活与优化

         a.安装vmware tools

         b.显示windows server 2019的桌面图标:桌面空白处–>右键–>个性化–>主题–>桌面图标

         c.激活windows server 2019

提示:先要给新装的操作系统安装必要的工具软件如winrar、office等常用工具

  • Vmware安装CentOS Linux

     ①新建虚拟机

     ②将系统光盘镜像文件插入光驱中

     ③安装操作系统

MySQL8.0数据库原理与应用随堂笔记

      提示:KUMP内核崩澳选项将其禁用;安装时选择GUI带图形画界面linux系统,生产环境中可以选择最小化安装。

二、补充:如何将自己的计算机重装系统

1、先到MSDN我告诉你 下载windows 10或windows 11

2、准备一个32G或64G的优盘

3、将下载好的系统镜像文件,使用UltralsO(软碟通)制作操作系统安装盘

4、设置笔记本电脑的启动顺序,第1启动设置为优盘启动(按F12或ESC)

5、同在虚拟机中安装windows server 2019相同,一路下一步进行安装

6、使用系统激活工具来激活操作系统

三、学习环境规划

1、物理拓扑

MySQL8.0数据库原理与应用随堂笔记

2、逻辑规划

主机名

IP地址

网关

系统类型

Test-MySQL-windows

192.168.121.128

192.168.121.1

windows server 2019

Test-Mysql-linux

192 168.121.129

192.168.121.1

Centos linux 7.6

第三章 windows快速安装mysql8.0

一、MySQL简介

1.介绍

1.1 什么是数据库?

数据库:Database,按照数据结构来组织、存储和管理数据的仓库,简单来说就是存储数据的仓库。——用来存放数据库对象(表、视图、函数、存储过程等)的一个容器。

数据库管理系统DBMS:用来管理数据的系统软件,常见:MySQL、Oracle、MSSQLServer、DB2、Sysbase、Access等数据库系统的组成:数据库和数据管理系统。

1.2 什么是MySQL?

MySQL:是一个开源的关系型数据库管理系统。由瑞典MySQL AB公司开发,后来被Oracle公司收购,所以目前属于Oracle公司

特点:体积小、速度快、成本低、开源(源代码是开放的),中小型网站都使用MySQL数据库。

版本:企业版Enterprise(收费的)、社区版community(免费的)

DBA:Database Administrator数据库管理员

二、实战部分

1、准备-台windows server 2019的主机

2、安装windows server 2019

3、下载mysql 8.0版本

提示:第1、2步,在第2章已做过介绍

https://dev.mysql.com/downloads/

MySQL8.0数据库原理与应用随堂笔记

4、MysqI8.0数据库配置

①Mysql server 8.0.39数据库服务器配置

MySQL8.0数据库原理与应用随堂笔记

MySQL8.0数据库原理与应用随堂笔记

②Mysql router 8.0.39读写分离的配置

③数据库实例配置

注意:使用8.0密码策略,要选择“高级认证“方式出错。

提示:使用navicat图形化工具访问mysqI服务器时出错‘1251错误’

5、MysqI8.0数据库管理入门

  • 修改root密码

说明:上述修改用户密码的命令中with mysql native password 是mysql 5.7的方式

  • 允许root远程登录

三、MySQL登录与退出

1、MySQL登录

本地登录

mysql -u用户名(root) -p 密码 显式登录

mysql -u 用户名(root) -p 隐式登录 远程登录

mysql -h主机名或ip地址 -u 用户名(root) -p 密码

2、MySQL退出

3、当mysql8.0安装完成后的相关配置

查看mysqI服务

WIN+R–>运行–>services.msc

windows+R—>运行–>输入netstat -an

windows+R===>运行–>输入wf.msc

mysql服务的开启与停止

①鼠标的方式

windows+R—>services.msc–>mysql80–>右键–>启动或停止上

②命令的方式

初学者不建议修改

提示:若要修改配置文件my.ini,就需要重启mysqI服务

四、Mysql安装方式之配置方式

1、mysql卸载

  • 控制面板

win+R–>运行–>输入control–>卸载程序–>与mysql有关组件–>卸载

  • 安装包

双击mysql-installer-community-8.0.39.0.msi

2、用配置文件来安装mysql

[mysqld];

设置3306端口

port=3306

;设置mysql的安装目录

basedir “C:\mysql-8.0.39-winx64”;

设置mysql数据库的数据的存放目录

datadir=C:\mysql-8.0.39-winx64\Data;

允许最大连按数

max connections=200

;允许连接失败的次数,这是为了防止有人从该主机试图攻击数据库系统

max connect errors=10

;服务端使用的字特集默认为UTF8

character-set-server=utf8

创建新表时将使用的默认存储引整

default-storage-engine INNODB;

默认使用“mysqlnative_password”插件认证default authentication

plugin=mysql native _password[mysql}

设置mysql客户端默认字符集

default-character-set utf8

[client]设置mysql

客户端连接服务端时默认使用的端口

port=3306

default-character-set=utf8

五、环境变量

右键–>此电脑–>高级系统设置–>环境变量–>path–>新建–>将mysql的安装目录bin路径放到path下即可。

六.、Mysql目录和配置文件

Mysql安装目录包括启动文件,配置文件,数据库文件和命令文件,具体如下:

bin目录:存放一些客户端程序和可执行脚本

data目录:存放一些日志文件以及数据库

docs目录:存储一些版本信息

include目录:存放一些头文件

lib目录:存放一些库文件

share目录:存储错误消息文件、字符集等

七、基本操作

1、连接Mysql

mysql -u 用户名 -p 密码 -h 数据库服务器的地址 -D 数据库名

提示:安装mysql以后,默认有一个管理员root

2、查看数据库和表

show databases;–查看当前所有数据库 use 数据库名;–切换数据库 show tables;–查看当前数据库中所有表 select database( );–查看当前正在操作的数据库 select user( );–显示当前登录的用户

八、导入初始数据

1、导入数据

  • 以.sql结尾的文件,是数据库脚本文件。

先连接登录到windows server 2019数据库服务器上,连接mysql,然后执行如下指

source d:\init.sql

2、表结构

desc 表名;– 查看表结构 select*from 表名;–查看表中所有记录

tstudent学生表

列名

类型

含义

StudentlD

varchar(10)

学号

Sname

varchar(10)

姓名

seX

char(2)

性别

cardlD

varchar(20)

身份证号

Birthday

datetime

出生日期

Email

varchar(40)

电子邮箱

Class

varchar(20)

班级

enterTime

datetime

录入时间

tsuject课程表

列名

类型

含义

subJectlD

varchar(4)

课程号

subJectName

varchar(30)

课程名

BookName

varchar(30)

书名

Publisher

varchar(20)

出版社

tscore 成绩表

列名

类型

含义

StudentID

varchar(10)

学号

subJectlD

varchar(4)

课程号

mark

decimal(10,0)

分数

第四章 数据库创建与常用操作

1、Mysql用户登录过程和管理mysql用户

1.1 Mysql8.0本地登录访问数据库

  • Mysql用户存储在mysql数据库的user表中,该表在mysqI服务启动时自动加载到内存,控制用户的登录,
  • 查看当前连接的mysql的用户

select user( ); use mysql; select user.host from user;

  • 创建mysql用户账户

create user hector@”localhost’.

  • 为新建本地用户修改密码

alter user hector@”localhost identified by’abc..123’;修改hector用户的密码

  • 为新建本地登录账户赋权

grant all privilieges on *.* to hector@’localhost’ with grant option; create user hector; select host,user from user;

  • 主机可以使用通配符,规则和标准的SQL语法中定义完全相同
  • %表示任意长度的字符
  • 表示1位的任意字符

设置hector@”ocalhost”的密码为’abc..123′

alter user hector@”ocalhost’ identified by ‘abc..123’;

  • 创建用户时指定密码

create user hector@’localhost” identified by ‘abc..123’.

  • 练习:

创建1个新用户设置密码并实现本地登录,注意授权。

create user liu@’localhost” identified by ‘abc..123’; grant all privileges on “,” to liug’localhost with grant option;

1.2 Mysql8.0远程访问数据库的设置

  • 修改root密码

mysql -u root -p

use mysql;

alter user ‘root’@’localhost’ identified by ‘abc..123’;

exit;

alter user ‘root”localhost’ identified with mysql_native_password by ‘abc..123’;

  • 允许root远程登录

mysql -u root -p use mysql; select host,user from user where user ‘root’; create user ‘root’@’192.168.x.%’ identified by ‘abc..123’; grant all privileges on *.* to ‘root’@’192,168.x,%* with grant option; exit;

2、数据库命名规范

  • 数据库给名不能超过30个字符,推荐便用下划线备名方式
  • 数据库命名必须为项日英文名称或有意义的脑写

数据库创建时必须添加默认字符集和字符序

ut8:uif8_general_ci不区分大小写utf8_genera_cs区分大小写;utf8_bin进制

  • 命名应使用小写

unicode 万国码,统一码、单一码;ucs2,uf16、uf161e、ut8、ut8mb4、uf32

utf8:1字符占1.3个字节 升级,老系统

utf8mb4:1字符占1-4个字节,新系统

SQL介绍

SQL是访问和操作数据库的标准语言。Structure querylanguage。

SQL能做什么

  • SQL可以对数据库执行查询
  • SQL可以从数据库中检索数据
  • SQL可以给数据库表插入记录
  • SQL可以更新数据库表的记录
  • SQL可以从数据库表中删除记录
  • SQL可以创建新的数据
  • SQL可以在数据库中创建新表
  • SQL可以在数据库创建存储过程
  • SQL可以在数据库中创建视图
  • SQL可以设置表、过程和视图的权限

数据的元操作

CRUD操作

  • C:create 创建数据
  • R:retrieve/read 获取数据/读取数据
  • U:update/alter 更新数据/修改数据
  • D:delete/drop删除数据

数据库的命令

介绍数据库的CRUD操作

  • 查看所有数据库语法:

show databases;

  • 创建数据库—C操作

语法:

create database 数据库名 charset 字符集;

  • 切换数据库—R操作语法:

use 数据库名;

  • 查看当前所选数据库—R操作语法:

select database();

  • 修改数据库—U操作语法:

database数据库名[default] character set 字符集[default] collate 字符序;

示例:

alter database db_test default character set gb2312 default collate gb2312_chinese_ci;

  • 查看数据库编码

语法:

show create database数据库名;

  • 查看mysql支持的所有编码类型

语法:

show character set;

  • 删除数据库—D操作语法:

drop database 数据库名;

表命令

查看所有表

show tables;

创建表

CREATE TABLE table name(–table_name 表名 特别说明:数据库名、表名都应该有唯一意义 colunn1_nane data_type constraints,–字段名 类型 属性 colunn2_nane data type constraints, …. )ENGINE-InnoDB DEFAULT CHARSET—utf8; –存储引整字符 字符集

创建一个用户表

CREATE TABLE users( — 在DB数据库下新建一个user表 Id INT NOT NULL PRIMARY KEY AUTO INCREHENT, name VARCHAR(50)NOT NULL, –null值 表示是一个不确定的值 birth_date DATE, phone VARCHAR(11)NOT NULL UNIQUE )ENGINE InnoDB DEFAULT CHARSET—Utf8;

主键:primary key在一个表中至少应该有这样一个字段,这个字段所对应的值一不能有重复,二不能为空,这个字段所对应的值能够起到唯一标识表中每一条记录的作用。

上面的语句创建了一个名为users的表,其中包含5个字段id、name、birth_date和 phone 。注意,每个字段后面都有一个数据类型声明,表示该字段将存储何种类型的数据,例如:整数、字符串、日期等。

MySQL支持的常用数据类型

  • 数字型

数据类型

字节

范围(无符号)

unsigned

范围(有符号)

signed(默认)

描述

tinyint

1

(0,255)

(-128,127)

小整数值

decimal

2

(0,65535)

(-32768,32767)

大整数值

mediumint

3

(0,16 )

(-8 388 608,8 388 607)

大整数值

int

4

(0, 295)

(-2 147 483 648,2 147 483 647)

大整数值

bigint

8

(018 073709 )

(-9,223,372.036,854,775.808.9 223 372 036 854 775 807)

极大整数值

FLOAT(M,D)

4

0,(1. 351E38,3. E+38)

(-3.402 823 466 E+38,-1. 351E-38),0,(1.175 E-38,3.402 823 466 351 E+38)

单精度浮点数值M是数字总个数,D是小数点后个数

double(M,D)

8

0,(2. 201 4 E-308,1.797 E+308)

(-1.797 693 134 862 315 7 E+308,-2.225 073 858 4E-308).0,(2.225 073858 507 201 4E-308.1. 134 862 315 7 E+308)

双精度浮点数值

M是数字总个数,D是小数点后个数

decimal(M,D)

对DECIMAL(M,D),如果M>D.为M+2否则为D+2

依赖于M和 D的值

依赖于M和D的值

M是表示有效数字数 的精度。M范围为1~65,D是表示小数点后的位数。D的范围是0~30MySQL要求D小于或等于(

整型:

1.tinyint 示例:性别男1女0数据类型选择tinyint

2.decimal 示例:价格与财务有关的字段设置为该类型

3.mediumint 示例:博客访问数设置为该类型

4.int 示例:员工的编号、学生学号设置为该类型

5. bigint 示例:网站访问数设置为该类型

–小数–

1.float 示例:float(5,2) 范围(-999.99,999.99)桌子的长度、物理测理的度量值

2.double 示例:误差比float低 科学计算、物理测量的值

3. decimal 示例: decimal(7,2) M=7(包含整数部分和小数部分,小数点也要算作1位)D=2小数点后数字的位数如某一商品的价格是¥1234.56

单精度和双精度不同

1、在内存中占有的字节数不同

2、有效数字位数不同

3、所能表示数的范围不同

  • 字符串

类型

字节

说明

char

0-255字节

定长字符串

varchar

0-65535字节

变长字符串

text

0-65 535字节

长文本数据

char(50) 宽度是固定,若占不完,空格补齐查询效率高,浪费存储空间

varchar(50)宽度是自动,用多少宽度分配多少宽度,查询效率低,节约空间

text 长文本类型 示例: 简历 text类型

  • 日期

类型

大小

范围

格式

说明

date 3

3

1000-01-01/9999-12-31

YYYY-MM-DD

日期

time

3

1000-01–838:59:59/838:59:59′

HH:MM:SS

时间

datetime

8

1000-01-01 00:00:00/9999-12-3123:59:59

YYYY-MM-DD HH:MM:SS

日期时间

year

1

1901/2155

YYY

年份类型

MySQL支持的常用约束

修饰符

描述

primary key

主键

not null

非空

unique

唯一

default

默认

foreign key

外键

主键:学生表中的学号、身份证号;课程表中的课程号;在一个表中至少应该有这样一个字段,这个字段所对应的值一不能有重复,二不能有空间,它能够起到唯一标识表中记录的作用。

  • not null 不能空值 示例:某个商品的价格是nu,只能说这个商品价格尚未确定,不是免费的
  • unique: 满足主键条件的字段 设置为unique的字段,此字段所对应的值是不能有重复。
  • foreign key外键:在一个表中某一个字段它不是当前这个表的主关键字,但是它却是另外一个表的主关键,我们在当前这个表,把此字段称为是当前表的外部关键字。

存储引擎

MySQL中的数据用各种不同的技术存储在文件(或者内存)中,这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。

存储引擎:就是我们对数据进行增、制、改、查或CRUD操作的一种技术方式。

show engines;

更新约束

  • 先创建一个表,除了主键,不加其他约束。

CREATE TABLE USerS1( id INT NOT NULL PRIMARY KEY AUTO_INCREHENT, nane VARCHAR(58), birth_date DATE, phone VARCHAR(11) )ENGINEInnODB DEFAULT CHARSET-utf8;

  • 给手机号添加唯一约束

ALTER TABLE USerS1 ADD UNIQUE (phone);

  • 删除唯一约束

ALTER TABLE USerS1 DROP INDEX phone;

  • 给名字添加非空约束

ALTER TABLE users1 modify name VARCHAR(s0)not null;

  • 删除非空约束

alter table user1 change name name varchar(50)null;

  • 给生日添加默认约束

ALTER TABLE USerSI ALTER birth date SET DEFAULT ‘1992-05-11″;

  • 删除默认约束

ALTER TABLE USerS1 ALTER birth date DROP DEFAULT;

表的CRUD操作

  • 查看表结构

desc 表名;

  • 查看表的创建语句

show create table ‘表名’;

  • 更改表名称

rename table 原表名 to 新表名;

  • 修改表

alter table 表名 add|change|drop 列名 类型; alter table users add age int default 1;

alter table users add user_desc varchar(5e)default ‘哈哈’; alter table users change user_desc userdesc varchar(50);

插入数据

语法:

insert into 表名(字段名1,字段名2,…) values(值1,值2,……);

  • 缺省插入

示例:

给user表新增1条记录

insert into user(name,birthday,phone,age)values(‘老王’,’1954-10-5′,”,70);

  • 全列插入

给user表再新增1条记录

insert into user values(1000,’老张’,’1964-10-7′,,60); insert into user values(0,老李’,’1974-10-7′,,50);

说明:

给表中所有字段插入记录的时候,id自动增长型主键的值从0开始。

不同:

主键列是自动增长,但是在全列插入时需要占位,通常使用0,插入成功后以实际数据为准

查询数据

语法:

select * from 表名; –査看表记录

验证float、double、decimal误差

–新建测试表 tbl_test create table tbl_test( id int not null primary key auto_increment, price1 float(9,3)not null, price2 double(9,3)not null, price3 decimal(9,3)not null )engine=innodb default charset=utf8;

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122953.html

(0)
上一篇 2025-10-12 19:26
下一篇 2025-10-12 19:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信