MySQL
文章平均质量分 86
MySQL
万里顾—程
我变得自信有趣,
允许别人踏入我的生活;
我睡的越来越早,
开始在乎前途和未来,
我知道那个我回来了!
展开
-
MySQL——MySQL 介绍
文章目录MySQL——MySQL 介绍1、MySQL 介绍2、RDBMS 和 非RDBMS 的区别2.1、关系型数据库(RDBMS)2.2、非关系型数据库(非RDBMS)MySQL——MySQL 介绍1、MySQL 介绍MySQL概述MySQL是一个开源的关系型数据库管理系统,由瑞典MySQL AB公司1995年开发,迅速成为最流行的开源关系型数据库管理系统。在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系原创 2022-02-09 17:27:11 · 20858 阅读 · 0 评论 -
MySQL——表的四种关联关系
MySQL——表的四种关联关系表与表之间的数据记录有关联关系(relationship)。四种表的关联关系:一对一关联、一对多(或多对一)关联、多对多关联、自我关联一对一关联(one-to-one)一张表的一条记录一定只能与另外一张表的一条记录进行对应,反正亦然。应用场景:为了提高查询效率,把原有的一张表查分成两张表,如:学生表:学号,姓名、手机号、班级、系别、身份证号码、家庭住址、籍贯、紧急联系人把学生表拆成两个表,两个表是一一对应的关系(通过唯一的字段(学号)来连接两张表):原创 2022-02-10 10:08:32 · 12340 阅读 · 0 评论 -
MySQL——MySQL 图形化管理工具的介绍
文章目录MySQL——MySQL 图形化管理工具的介绍1、MySQL Workbench2、Navicat3、SQLyog4、DBeaver5、DataGripMySQL——MySQL 图形化管理工具的介绍MySQL 图形化管理工具极大地方便了数据库的操作与管理,常用的图形化管理工具有: MysQL Workbench、phpMyAdmin、Navicat Preminum、MySQLDumper、SQLyog、dbeaver、MysQL ODBc Connector、DataGrip。1、MySQL原创 2022-02-10 16:02:20 · 30464 阅读 · 0 评论 -
MySQL——SQL概述和分类
文章目录MySQL——SQL概述和分类1、SQL概述2、SQL分类MySQL——SQL概述和分类1、SQL概述什么是SQLSQL 指结构化查询语言,全称是 Structured Query Language。SQL 是用于访问和处理数据库的标准的计算机语言,与数据直接打交道。使用SQL 可以访问和处理数据库,包括数据插入、查询、更新和删除。SQL由IBM上世纪70年代开发出来,在1986年SQL 成为 ANSI(American National Standards Institute 美国原创 2022-02-10 17:00:16 · 410 阅读 · 0 评论 -
MySQL——SQL使用规范
文章目录MySQL——SQL使用规范1、SQL基本使用规则2、SQL大小写规范3、注释的使用4、命名规则MySQL——SQL使用规范1、SQL基本使用规则SQL可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进。每条命令以;或\g或\G结束关键字不能被缩写也不能分行关于标点符号必须保证所有的()、单引号、双引号是成对结束的必须使用英文状态下的半角输入方式字符串型和日期时间类型的数据可以使用单引号(’)表示列的别名,尽量使用双引号(""),而且不建议省略as2、原创 2022-02-10 17:41:30 · 702 阅读 · 0 评论 -
MySQL——运算符的使用
文章目录MySQL——运算符的使用1、算术运算符2、比较运算符3、逻辑运算符4、位运算符5、运算符的优先级6、使用正则表达式查询MySQL——运算符的使用1、算术运算符算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+)、减(-)、乘(*)、除(/)和取模(%)运算。操作符描述示例+加法,执行加法运算。select A + B-减法,执行减法运算。select A - B*乘法,执行除法运算。select A *原创 2022-02-11 15:56:52 · 2253 阅读 · 0 评论 -
MySQL——DQL(数据查询语言)用法
数据库——DQL(数据查询语言)DOL(Date Query Language:数据查询语言)所有的查询都用它 Select-- DOL(数据查询语言) 基本的查询语句-- 查询全部的信息SELECT* FROM studentSELECT* FROM grade-- 查询指定字段SELECT id ,`name` FROM student -- 给结果起别名,用AS 可以给字段起,也可以给表起别名SELECT id AS 学号, `name` AS 姓名 FROM stu原创 2020-10-08 14:56:45 · 668 阅读 · 0 评论 -
MySQL——单行函数的介绍和使用
文章目录MySQL——单行函数1、MySQL 中函数的分类2、单行函数2.1、数值型函数2.2、字符串函数2.3、日期和时间函数2.4、流程控制函数MySQL——单行函数1、MySQL 中函数的分类在SQL语言中,包含了内置函数和自定义函数。不同的 DBMS 函数是存在差异的,大部分 DBMS 会有自己特定的函数。MySQL 内置函数及分类MySQL提供了丰富的内置函数,这些内置函数可以帮助用户更加方便地处理表中的数据。函数就像预定的公式一样存放在数据库里,每个用户都可以调用已经存在的函数来完原创 2022-02-13 15:12:35 · 1224 阅读 · 0 评论 -
MySQL——聚合函数和group by分组的使用
文章目录MySQL——聚合函数和group by分组的使用1、聚合函数介绍2、GROUP BY 分组3、常见的聚合函数4、SQL执行顺序MySQL——聚合函数和group by分组的使用1、聚合函数介绍SQL聚合函数计算一组数据的集合并返回单个值。除 COUNT 以外,聚合函数忽略空值,如果COUNT函数的应用对象是一个确定列名,并且该列存在空值,此时COUNT仍会忽略空值。因为聚合函数对一组值进行操作,所以它通常与SELECT语句的GROUP BY子句一起使用,以计算为每个分组提供信息的度量。原创 2022-02-14 15:20:53 · 17938 阅读 · 1 评论 -
MySQL——子查询用法
文章目录MySQL——子查询用法1、子查询概述2、子查询的使用2.1、单行子查询2.2、多行子查询2.3、相关子查询子查询练习题MySQL——子查询用法1、子查询概述子查询简介子查询指一个查询语句嵌套在另一个查询语句内部的查询,内部的查询是外部查询的条件,这个特性从MySQL4.1开始引入。SQL中子查询的使用大大增强了SELECT查询的能力,因为很多时候查询需要从结果集中获取数据,或者需要从同一个表中先计算得出一个数据结果,然后与这个数据结果(可能是某个标量,也可能是某个集合)进行比较。原创 2022-02-15 17:11:43 · 25437 阅读 · 4 评论 -
MySQL——数据库的创建和管理
文章目录MySQL——数据库的创建和管理1、创建数据库2、使用数据库3、删除数据库MySQL——数据库的创建和管理1、创建数据库CREATE DATABASE语句用于创建新的SQL数据库。语法及扩展-- 直接创建CREATE DATABASE database_name;-- 创建数据库并指明字符集CREATE DATABASE database_name character set 'gbk';-- 如果不存在则创建成功,如果已存在则创建不成功,但不会报错CREATE DATABA原创 2022-02-15 18:03:52 · 1268 阅读 · 0 评论 -
MySQL——表的创建和管理
文章目录MySQL——表的创建和管理1、表的创建2、表的修改3、表的删除4、表的清空MySQL——表的创建和管理1、表的创建用代码创建-- 注意点:英文括号() 表的名称和字段尽量用``-- AUTO_INCREMENT 自增 一个表只能有一个自增键,而且必须是主键-- 字符串用单引号括起来-- 所有的语句后面加,(英文的) 最后一个不用加-- PRIMARY KEY 设置主键,一个表一般只有唯一的主键CREATE TABLE IF NOT EXISTS `student`(`id原创 2022-02-15 20:07:45 · 539 阅读 · 0 评论 -
MySQL——简单的基本命令
数据库——简单的基本命令命令行语句操作show databases; 查看所有数据库use 数据库名; 切换数据库show tables 查看当前数据库中所有的表describe 表名 显示数据库中表的信息操作数据库1,创建数据库CREATE DATABASE [IF NOT EXISTS] kuang--[IF NOT EXISTS]判断条件(可选)2.删除数据原创 2020-09-20 15:46:38 · 481 阅读 · 0 评论 -
MySQL——数据类型详解
数据库——列类型详解数值tinyint 1个字节smallint 2个字节mediumint 3个字节int 4个字节 常用bigint 8个字节float 4个字节double 8个字节decimal 字符串形式的浮点数 金融计算常用原创 2020-09-20 15:47:55 · 328 阅读 · 0 评论 -
MySQL——DML(数据操作语言)
数据库——DML(数据操作语言)DML语言:数据操作语言insert 添加update 修改delete 删除insert 添加-- 插入语句(添加)-- insert into 表名([字段名1,字段名2,字段名3])values('值1'),('值2'), ('值3')-- 写插入语句,数据与字段要一一对应INSERT INTO `grade`(`gradename`) VALUES ('大三')-- 由于主键自增我们可以省略字段 相当于INSE原创 2020-09-27 11:02:15 · 6171 阅读 · 2 评论 -
MySQL——字段属性详解
数据库——字段属性详解Unsigned无符号的整数一旦声明则该列不能声明为负数Zerofill0填充不足的位数用0来填充自增自动在上一条记录的基础上+1(默认)通常用来设计唯一的主键,必须是整数类型可以自定义设计主键的起始值和步长非空not null假设设置为not null ,如果不给它赋值,就会报错!如果设置为null,不填写默认值就是null!默认设置默认值如果不指定该列的值,则会有默认的值拓展:每一个表都必须存在以下五个字段id原创 2020-09-20 22:58:19 · 1467 阅读 · 0 评论 -
MySQL——数据库级别的MD5加密应用
数据库级别的MD5加密MD5信息摘要算法MD5算法因其普遍、稳定、快速的特点,仍广泛应用于普通数据的加密保护领域-- =====================测试MD5加密=======================-- MD5信息摘要算法CREATE TABLE `testMD5 01`( `id` INT(4) NOT NULL, `name` VARCHAR(10) NOT NULL, `pwd` VARCHAR(50) NOT NULL, PRIMARY KEY(`id`)原创 2020-10-08 14:40:25 · 527 阅读 · 0 评论 -
MySQL——where字句常用的查询条件及用法
where字句常用的查询条件查询条件谓词比较= , > , < , >= , <= , (<> , !=不等于)确定范围BETWEEN AND(相当于闭集合[BETWEEN,AND]) , NOT BETWEEN AND(不属于闭集合[BETWEEN,AND]的范围)确定集合IN , NOT IN字符匹配LIKE NOT LIKE 通配符 % ,_多重运算(逻原创 2020-09-30 09:56:44 · 12526 阅读 · 0 评论 -
MySQL——数据库用户管理
数据库——数据库用户管理SQLyog可视化操作[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zQLL6ol4-1602397334528)(C:\Users\len\Desktop\Picture\Screenshot\屏幕截图 2020-10-11 100125.png)]主机地址要与登录的时候一致SQL命令操作系统用户表:mysql数据库>user表用户操作的本质就是对user表增删改查-- ==================数据库用户管理=原创 2020-10-11 14:23:39 · 2859 阅读 · 8 评论 -
MySQL——MySQL5.7在Linux下的使用
文章目录MySQL——MySQL5.7在Linux下的使用1、Linux中修改MySQL的字符集为 utf-82、各级别字符集介绍3、MySQL在linux上的大小写规范4、合理设置sql_mode5、MySQL目录路径6、MySQL默认的数据库MySQL——MySQL5.7在Linux下的使用1、Linux中修改MySQL的字符集为 utf-81、进入MySQL的配置文件vim /etc/my.cnf2、在 [mysqld] 下面 添加:character_set_server=utf8mb原创 2022-02-21 15:31:01 · 590 阅读 · 0 评论 -
MySQL——存储引擎INNODB和MYISAM的区别
数据库——关于数据库引擎-- 主要用的/*INNODB 默认使用MYISAM 早些年使用*/INNODBMYISAM事务支持支持不支持数据行锁定支持不支持外键约束支持不支持全文索引不支持支持表空间大小较大(约为MYISAM两倍)较小事务支持:假设两个数据库同时执行,要么都成功,要么都失败数据行锁定:INNODB是数据行锁,MYISAM是数据表锁,因此INNODB的效率比MYISAM高MYISAM:节约空间,速度较原创 2020-09-22 13:20:44 · 279 阅读 · 0 评论 -
MySQL——MySQL逻辑架构
文章目录MySQL——MySQL逻辑架构1、Connectors 客户端连接层2、第一层:Connection Pool 连接池3、第二层:SQL服务层4、第三层:Engine 存储引擎层5、存储层6、小结MySQL——MySQL逻辑架构MySQL基础逻辑架构图:1、Connectors 客户端连接层客户端连接层 Connectors,位于MySQL体系架构的最上层,提供与MySQL服务器建立连接的能力,是一些客户端和连接服务,包含本地服socket通信和大多数基于C/S工具实现的类似于tcp原创 2022-02-21 19:16:58 · 3025 阅读 · 0 评论 -
MySQL——MySQL5.7执行流程
MySQL——执行流程mysql执行流程图:当客户端向MySQL发送一个请求时,MySQL到底做了什么:①、客户端发送一条查询给服务器。②、服务器先检查查询缓存,如果命中了缓存,则立刻返回存储在缓存中的结果,跳过了解析、优化和执行阶段。否则进入下一阶段。③、服务器端进行SQL解析、预处理。解析器通过关键字将SQL语句进行语法分析、语义分析,并生成对应的解析树。MySQL解析器将使用MySQL语法规则验证和解析查询。预处理器则根据一些MySQL规则进行进一步检查解析书是否合法,例如检查数据表和原创 2022-02-21 20:29:56 · 669 阅读 · 0 评论 -
MySQL——索引概述和分类
文章目录MySQL——索引概述1、为什么使用索引2、索引的本质3、索引的分类4、索引的优缺点MySQL——索引概述1、为什么使用索引索引就是根据表中的一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表,实质上是一张描述索引列的列值与原表中记录行之间一 一对应关系的有序表。就好比一本教科书的目录部分,通过目录找到对应的文章的页码,便可快速定位到需要的文章。索引是 MySQL 中十分重要的数据库对象,是数据库性能调优技术的基础,常用于实现数据的快速检索。在 MySQL 中,通常有以下两种方式原创 2022-02-22 11:23:42 · 544 阅读 · 0 评论 -
MySQL——各种索引结构的对比
文章目录MySQL——各种索引结构的对比1、Hash结构2、AVL 平衡二叉搜索树3、B-Tree4、B+TreeMySQL——各种索引结构的对比1、Hash结构Hash 被称为散列函数,是把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。不同的输入可能会散列成相同的输出,所以不可能从散列值来确定唯一的输入值。Hash 函数它可以帮助我们大幅提升检索数据的效率。Hash 算法是通过某种确定性的算法(比如MD5、SHA1、SHA2、SHA3)将输入转变为输出。相同的输入永远可以得原创 2022-02-22 20:42:48 · 1020 阅读 · 0 评论 -
MySQL——InnoDB数据存储结构之页结构
文章目录MySQL——InnoDB引擎数据存储结构 页1、数据库的存储结构——页2、页的内部结构2.1、File Header 文件头和 File Trailer 文件尾2.2、User Records(用户记录)和 Infimum + Supremum(最小最大记录)2.3、Page Directory(页目录)和 Page Header(页面头部)MySQL——InnoDB引擎数据存储结构 页1、数据库的存储结构——页索引结构给我们提供了高效的索引方式,索引信息以及数据记录都是存储在页结构中。另一原创 2022-02-23 15:57:30 · 1147 阅读 · 0 评论 -
MySQL——InnoDB记录(行)格式
文章目录MySQL——InnoDB记录(行)格式1、设置记录格式2、Compact 行格式3、行溢出4、Redundant 行格式MySQL——InnoDB记录(行)格式1、设置记录格式我们平时的数据以行为单位来向表中插入数据,这些记录在磁盘上的存放方式也被称为行格式或者记录格式。InnoDB存储引擎设计了4种不同类型的行格式,分别是Compact,Redundant, Dynamic 和 Compressed 行格式。其中 Compact 和 Redundant 两种存放行记录数据格式是MySQL原创 2022-02-23 19:11:15 · 1576 阅读 · 0 评论 -
MySQL——索引的创建与删除
文章目录MySQL——索引的创建与删除1、创建索引的三种方式1.1、建表时创建索引1.2、修改表时创建索引1.3、使用 CREATE INDEX 语句创建索引2、删除索引MySQL——索引的创建与删除1、创建索引的三种方式1.1、建表时创建索引使用CREATE TABLE创建表时,除了可以定义列的数据类型外,还可以定义主键约束、外键约束或者唯一性约束,而不论创建哪种约束,在定义约束的同时相当于在指定列上创建了一个索引。隐式创建:在声明有主键约束、唯一性约束、外健约束的字段上,会自动添加相关的原创 2022-02-24 09:59:24 · 7720 阅读 · 0 评论 -
MySQL——索引的创建原则
文章目录MySQL——索引的创建原则1、数据准备2、适合创建索引的情况3、限制索引的数量4、不适合创建索引的情况MySQL——索引的创建原则1、数据准备创建数据库、表create database if not exists testindexdb;use testindexdb;create table student_info( id int(11) not null auto_increment, student_id int(11) not null ,原创 2022-02-24 16:44:24 · 2812 阅读 · 0 评论 -
MySQL——慢查询日志分析
文章目录MySQL——慢查询日志分析1、启动和设置慢查询日志2、数据准备3、慢查询日志分析工具:mysqldumpslow4、删除慢查询日志5、show profileMySQL——慢查询日志分析MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10。通过慢查询日志,可以查找出哪些查询语句的执行效率低,以便进行优化。如果不是原创 2022-02-24 20:05:46 · 5889 阅读 · 0 评论 -
MySQL——分析查询语句:EXPLAIN
文章目录MySQL——分析查询语句:EXPLAIN1、概述2、数据准备3、EXPLAIN 各列作用分析3.1、table3.2、id3.3、select_type3.4、partitions3.5、type3.6、possible_keys 和 key3.7、key_len3.8、ref3.8、rows3.9、filtered3.10、ExtraMySQL——分析查询语句:EXPLAIN1、概述Explain 命令是查看查询优化器如何决定执行查询的主要方法。学会解释 Explain 命令输出的信息将帮原创 2022-03-01 17:27:20 · 2284 阅读 · 0 评论 -
MySQL——索引失效的案例
文章目录MySQL——索引失效的案例1、数据准备2、索引生效2.1、全值匹配3、索引失效案例3.1、最佳左前缀3.2、计算、函数导致索引失效3.3、类型转换(自动或手动)导致索引失效3.4、范围条件右边的列索引失效3.5、不等或空值导致索引失效3.6、like通配符%在开头导致索引失效3.7、OR前后存在非索引的列导致索引失效3.8、总结MySQL——索引失效的案例1、数据准备建表create table class( id int(11) not null auto_increment原创 2022-03-04 15:02:14 · 874 阅读 · 0 评论 -
MySQL——关联查询优化
文章目录MySQL——关联查询优化1、数据准备2、外连接3、内连接4、小结MySQL——关联查询优化1、数据准备建表create table if not exists type( id int(10) unsigned not null auto_increment, card int(10) unsigned not null, primary key (id));create table if not exists book( bookid i原创 2022-03-04 17:51:36 · 840 阅读 · 0 评论 -
MySQL——子查询、排序、分组、分页优化
文章目录MySQL——子查询和排序优化1、子查询优化2、ORDER BY排序优化3、filesort算法:双路排序和单路排序MySQL——子查询和排序优化1、子查询优化子查询当一个查询是另一个查询的子部分是,,称之为子查询(查询语句中嵌套含有查询语句)。子查询也是使用频率比较高的一种查询类型。因此,优化子查询,对于整个系统的性能也有直接的影响。子查询的位置在 SELECT 语句中,子查询可以被嵌套在 SELECT 语句的列、表和查询条件中,即 SELECT 子句,FROM 子句、WHE原创 2022-03-08 14:38:18 · 1903 阅读 · 0 评论 -
MySQL——数据库调优整体策略
文章目录MySQL——数据库调优整体策略1、数据库调优1.1、调优的目标1.2、确定调优的目标1.3、调优的维度和步骤2、MySQL服务器的优化2.1、优化服务器硬件2.2、优化MySQL服务的参数3、优化数据库结构3.1、拆分表:数据冷热分离3.2、增加中间表3.3、增加冗余字段3.4、优化数据类型3.5、优化插入记录的速度3.6、使用非空约束3.7、分析表3.8、检查表3.9、优化表4、大表优化4.1、限定查询范围4.2、读写分离4.3、垂直拆分4.4、水平拆分5、其它调优策略5.1、服务器语句超时处理原创 2022-03-10 19:51:52 · 4062 阅读 · 0 评论 -
MySQL——事务及事务的ACID原则
数据库——事务事务:事务是用户定义的一个数据库操作序列,这些操作要么都做,要么都不做,是一个不可分割的工作单位,事务是并发控制的基本单位。事务的ACID原则原子性(atomicity):事务中包括的操作要么都做,要么都不做,一致性(consistency):针对一个事务操作前与操作后的状态一致。一致性和原子性密切相关(因为一个事务不管做或者没做,数据库都处于一致状态,但如果事务中一个操作做了,但另一个操作没做,则逻辑上就会发生错误,这是数据库就不处于一致状态了)隔离性(isolatio原创 2020-10-09 15:36:18 · 657 阅读 · 0 评论 -
MySQL——SQL的事务隔离级别
文章目录MySQL——事务隔离级别1、数据并发问题2、SQL中四种隔离级别3、MySQL支持的隔离级别4、设置事务的隔离级别MySQL——事务隔离级别事务有隔离性的特性,理论上在某个事物对某个数据进行访问是,其他事务应该进行排队,当该事务提交后,其他事物才可以访问该数据。但是这样对性能影响太大。1、数据并发问题1、脏写(Dirty Write)指一个事务修改了另外一个未提交事务修改过的数据。Session A 和 Session B各开启了一个事务,Session B中的事务先将stude原创 2022-03-11 15:18:15 · 705 阅读 · 0 评论 -
MySQL——锁机制和数据库并发问题解决方案
文章目录MySQL——锁机制和数据库并发问题解决方案1、锁机制概述2、MySQL并发事务访问相同数据情况2.1、读--读2.2、写--写2.3、读--写 或 写--读3、数据库并发问题解决方案MySQL——锁机制和数据库并发问题解决方案1、锁机制概述在数据库中,除传统的计算资源(如CPU、RAM、I/O等)的争用以外,数据也是一种供许多用户共享的资源。为保证数据的一致性,需要对并发操作进行控制,因此产生了锁。同时锁机制也为实现MySQL的各个隔离级别提供了保证。锁冲突也是影响数据库并发访问性能的一个原创 2022-03-14 10:51:00 · 3281 阅读 · 0 评论 -
MySQL——锁的不同角度分类说明
文章目录MySQL——锁的不同角度分类说明1、从数据操作类型划分:读锁、写锁1.1、概述1.2、锁定读操作1.3、锁定写操作2、从数据操作的粒度划分:表级锁、页级锁、行锁2.1、表级锁2.1.1、表级别的S锁,X锁2.1.2、意向锁2.1.3、自增锁(AUTO-INC锁)2.1.4、元数据锁(MDL锁)2.2、行锁(Row Lock)2.2.1、记录锁2.2.2、间隙锁2.2.3、临键锁2.2.4、插入意向锁2.3、页级锁3、从对待锁的态度划分:乐观锁、悲观锁MySQL——锁的不同角度分类说明1、从数原创 2022-03-17 17:25:39 · 1597 阅读 · 0 评论 -
MySQL——多版本并发控制(MVCC)
文章目录MySQL——多版本并发控制(MVCC)1、MVCC概述2、快照读和当前读2.1、快照读2.2、当前读3、MVCC实现原理之ReadView3.1、隐藏字段和版本链3.2、ReadView简介3.3、ReadView规则3.4、MVCC的查询整体操作流程MySQL——多版本并发控制(MVCC)1、MVCC概述MVCC(Multiversion Concurrency Control),多版本并发控制,提供并发访问数据库时,对事务内读取的到的内存做处理,用来避免写操作堵塞读操作的并发问题。顾原创 2022-03-19 15:51:24 · 1347 阅读 · 0 评论