MySQL约束和事务知识归纳。

Android日志实战——车机日志获取(十五) 这个项目中的 Log 管理系统,其实只是将系统原生 Log 进行输出并导出,并没有太复杂的操作。还有一种 Log 管理系统需要对 Android 原生 Log 系统进行重写,例如我们使用 Log.d(tag, msg) 打印 Log,需要我们根据 tag 信息将不同模块的 Log 数据写入不同的本地文件下,这样可以方便不同模块查看自己的 Log,追踪异常问题。 阅读详情

目录

一、MySQL 约束

▶ 基本介绍

约束用于确保数据库的数据满足特定的商业规则。在mysql中,约束包括: not null,unique, primary key, foreign key, 和 check 五种。

1、主键 primary key

▶ 基本介绍

用于唯一的标示表行的数据,当定义主键约束后,该列不能重复

▶ 细节

▷ primary key不能重复而且不能为null。

▷ 一张表最多只能有一个主键,但可以是复合主键。

▷ 主键的指定方式有两种:

1、直接在字段名后指定 : 字段名 primakry key

2、在表定义最后写 primary key(列名)

▷ 使用desc 表名, 可以看到primary key的情况

▷ 在实际开发中,每个表往往都会设计一个主键。

2、not null

如果在列上定义了not null,那么当插入数据时,必须为列提供数据。

3、unique

当定义了唯一约束后,该列值是不能重复的。

CREATE TABLE 表名(
     id INT UNIQUE , -- 表示 id 列是不可以重复的.
    `name` VARCHAR(32) ,
     email VARCHAR(32)
   );

▶ 细节

  • 如果没有指定 not null , 则 unique 字段可以有多个 null 。如果一个列(字段), 是 unique not null 使用效果类似 primary key
  • 一张表可以有多个 unique 字段

4、外键 foreign key

▶ 基本介绍

用于定义主表和从表之间的关系:外键约束要定义在从表上,主表则必须具有主键约束或是unique约束,当定义外键约束后,要求外键列数据必须在主表的主键列存在或是为null。

▶ 细节

  • 外键指向的表的字段,要求是primary key 或者是unique
  • 表的类型是innodb,这样的表才支持外键
  • 外键字段的类型要和主键字段的类型一致(长度可以不同)
  • 外键字段的值,必须在主键字段中出现过, 或者为null前提是外健字段允许为null
  • 一旦建立主外键的关系, 数据不能随意删除了

5、check

▶ 基本介绍

用于强制行数据必须满足的条件,假定在数值列上定义了check约束并要求数列值在1000~2000之间,如果不再1000~2000之间就会提示出错。

oracle 和 sql.server 均支持check,但是mysq15.7目前还不支持chck,只做语法校验,但不会生效。

▶ 基本使用

CREATE TABLE 表名 (
    id INT PRIMARY KEY,
    `name` VARCHAR(32) ,

    sex VARCHAR(6) CHECK (sex IN('man','woman')),


    sal DOUBLE CHECK ( sal > 1000 AND sal < 2000)
);

二、MySQL应用

1、自增长

▶基本介绍

▶ 细节

  • 一般来说自增长是和 primary key 配合使用的
  • 自增长也可以单独使用[但是需要配合一个unique]
  • 自增长修饰的字段为整数型的(虽然小数也可以但是非常非常少这样使用)
  • 自增长默认从1开始, 你也可以通过如下命令修改alter table 表名 auto increment=新的开始值
  • 如果你添加数据时,给自增长字段(列)指定的有值,则以指定的值为准,如果指定了自增长,一般来说.,就按照自增长的规则来添加数据

▶ 自增长使用

CREATE TABLE 表名 (
    id INT PRIMARY KEY AUTO_INCREMENT,
    email VARCHAR(32) NOT NULL DEFAULT '',
    `name` VARCHAR(32) NOT NULL DEFAULT '');

2、MySQL索引

▶ 基本介绍

说起提高数据库性能,索引是最物美价廉的东西了。不用加内存, 不用改程序, 不用调sql, 查询速度就可能提高百倍干倍。

▶ 索引的原理

  1. 没有索引为什么会慢?因为全表扫描
  2. 使用索引为什么会快?形成一个索引的数据结构,比如二叉树
  3. 索引的代价:

① 磁盘占用

② 对dml(update delete insert)语句的效率影响

▶ 索引的类型

  • 主键索引,主键自动的为主索引(类型Primary key)
  • 唯一索引(UNIQUE)
  • 普通索引(INDEX)
  • 全文索引(FULLTEXT) [适用于MyISAM]
  • 一般开发, 不使用mysql自带的全文索引,而是使用:全文搜索Solr和 ElasticSearch(ES)
create table 表(
    id int primary key, --主键,同时也是索引,称为主键索引。
    name varchar(32));

create table 表(
    id int unique-- id是唯一的,同时也是索引,称为unique索引
    );

 

▶ 索引的使用

▶ 如果使用索引

▷ 较频繁的作为查询条件字段应该创建索引

select * from emp where empno=1

▷ 唯一性太差的字段不适合单独创建索引,即使频繁作为查询条件

select * from emp where sex='男'

▷ 更新非常频繁的字段不适合创建索引

select * from emp where logincount= 1

▷ 不会出现在WHERE子句中字段不该创建索引

3、MySQL事务

▶ 基本介绍

事务用于保证数据的一致性,它由一组相关的dml语句组成,该组的dml活句要么全部成功, 要么全部失败。如:转账就要用事务来处理,用以保证数据的一致性。

▶ 事务和锁

当执行事务操作时(dml语句) ,mysql会在表上加锁,防止其它用户改表的数据这对用户来讲是非常重要的。

-- 1. 创建一张测试表
CREATE TABLE t27 ( 
    id INT,
    `name` VARCHAR(32));

-- 2. 开始事务
START TRANSACTION

-- 3. 设置保存点
SAVEPOINT a
-- 执行 dml 操作
INSERT INTO t27 VALUES(100, 'tom');

SAVEPOINT b
-- 执行 dml 操作
INSERT INTO t27 VALUES(200, 'jack');​​​​​​​

-- 回退到 b
ROLLBACK TO b

-- 继续回退 a
ROLLBACK TO a

-- 如果这样, 表示直接回退到事务开始的状态.
ROLLBACK
COMMIT

 

回退事务

在介绍回退事务前,先介绍一下保存点(savepoint).保存点是事务中的点,用于取消部分事务,当结束事务时(commit),会自动的删除该事务所定义的所有保存点当执行回退事务时,通过指定保存点可以回退到指定的点。

▶ 提交事务

使用commit语包可以提交事务.当执行了commit语句子后,会确认事务的变化、结束事务、删除保存点、释放锁,数据生效。当使用commit语句结束事务子后,其它会话[其他连接]将可以查看到事务变化后的新数据[所有数据就正式生效]

▶事务细节

  • 如果不开始事务,默认情况下,dml操作是自动提交的, 不能回滚
  • 如果开始一个事务,你没有创建保存点.你可以执行rollback,默认就是回退到你事务开始的状态
  • 你也可以在这个事务中(还没有提交时),创建多个保存点.比如: savepoint aaa; 执行dml, savepoint bbb;
  • 你可以在事务没有提交前,选择回退到哪个保存点
  • mysql的事务机制需要innodb的存储引擎才可以使用,myisam不好使
  • 开始一个事务 start transaction, set autocommit=off

4、事务隔离级别

▶ 基本介绍

多个连接开启各自事务操作数据库中数据时,数据库系统要负责隔离操作,以保证各个连接在获取数据时的准确性。

如果不考虑隔离性,可能会引发如下问题: ① 脏读;② 不可重复读; ③ 幻读

▶ 解释

脏读(dirty read) : 当一个事务读取另一个事务尚未提交的改变(update,insert,delete)时,产生脏读

不可重复读(nonrepeatable read) : 同一查询在同一事务中多次进行,由于其他提交事务所做的修改或删除, 每次返回不同的结果集, 此时发生不可重复读。

幻读(phantom read) : 同一查询在同一事务中多次进行,由于其他提交事务所做的插入操作, 每次返回不同的结果集,此时发生幻读。

▶ 隔离级别

概念 : MySQL隔离级别定义了事务与事务之间的隔离程度。

▶ 设置隔离级别

▷ 查看当前会话隔离级别

set transaction.sql select @@tx isolation

▷ 查看系统当前隔离级别

select @@global.tx isolation

▷ 设置当前会话隔离级别

set session transaction isolation level repeatable read

▷ 设置系统当前隔离级别

set global transaction isolation leve repeatable read:

▷ mysql默认的事务隔离级别是 repeatable read一般情况下,没有特殊要求,没有必要修改(因为该级别可以满足绝大部分项目需求)

▶ 事务 ACID

▷ 原子性(Atomicity)

原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生

▷ 致性(Consistency)

事务必须使数据库从一个一致性状态变换到另外一个一致性状态

▷ 隔离性 (lsolation)

事务的隔离性是多个用户#发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。

▷ 持久性(Durability)

持久性是指一个事务一#被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响

5、表类型和存储引擎

▶ 基本介绍

  1. MySQL的表类型由存储引擎(Storage Engines) 决定,主要包括MylSAM,innoDB、 Memory等。
  2. MySQL 数据表主要支持六种类型,分别是:CSV、 Memory,ARCHIVE,MRG MYISAM、 MYISAM,InnoBDB。
  3. 这六种又分为两类, 一类是”事务安全型”(transaction-safe),比如:InnoDB。其余都属于第二类,称为”非事务安全型”(non-transaction-safe)[mysiam 和 memory]。

▶ 特点

▶ 细节

  1. MylSAM不支持事务、也不支持外键,但其访问速度快,对事务完整性没有要求
  2. InnoDB存储引擎提供了具有提交、 回滚和崩溃恢复能力的事务安全。但是比MyISAM存储引擎,InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引。
  3. MEMORY存储引擎使用存在内存中的内容来创建表。 每个MEMORY表只实际对应个个磁盘文件。 MEMORY类型的表访问非常得快, 因为它的数据是放在内存中的,并且默认使用HASH索引。但是一旦MySQL服务关闭,表中的数据就会丢失掉,表的结构还在

▶ 如何选择存储引擎

  • 如果你的应用不需要事务, 处理的只是基本的CRUD操作,那么MyISAM是不二选择,速度快
  • 如果需要支持事务,选择InnoDB。Memory 存储引擎就是将数据存储在内存中,由于没有磁盘I/0的等待。速度极快。 但由于是内存存储引擎,所做的任何修改在服务器重启后都将消失。(经典用法,用户的在线状态)

▶ 修改存储引擎

6、视图

▶ 基本介绍

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含列,其数据来自对应的真实表(基表)

▶ 基本使用

  • create view视图名 as select语句
  • alter view视图名 as select语句 --更新成新的视图
  • SHOW CREATE VIEW 视图名
  • drop view 视图名1,视图名2

▶ 细节

  • 创建视图后, 到数据库去看, 对应视图只有一个视图结构文件(形式 : 视图名.frm)视图的数据变化会影响到基表,基表的数据变化也会影响到视图[insert update delete]
  • 视图中可以再使用视图,数据仍然来自基表..

▶ 视图最佳实践

  1.  安全。一些数据表有着重要的信息。有些字段是保密的,不能让用户直接看到。这时就可以创建一个视图,在这张视图中只保留一部分字段。这样,用户就可以查自己需要的字段,不能查看保密的字段。
  2. 性能。关系数据库的数据常常会分表存储,使用外键建立这些表的之间关系。这时,数据库查询通常会用到连接(UOIN)。这样做不但麻烦,效率相对也比较低。如果建立一个视图,将相关的表和字段组合在一越,就可以避免使用JOIN查询数据。
  3. 灵活。如果系统中有一张旧的表,这张表由于设计的问题,即将被废弃。然而,很多应用都是基于这张表,不易修改。这时就可以建立一张视图,视图中的数据直接映射到新建的表。这样,就可以少做很多改动,也达到了升级数据表的目的。

7、MySQL 管理

▶ MySQL 用户

  • host : 允许登录的“位置”localhost表示该用户只允许本机登录,也可以指定ip地址, 比如:192.168.1.100
  • user : 用户名
  • authentication string : 密码,是通过mysql的password0画数加密后的密码。

▶ 创建用户

▶ 删除用户

▶ 用户修改密码

▶ MySQL 权限

▶ 给用户授权

▶ 回收用户权限

▶ 权限生效指令

▶ 细节说明

  • 在创建用户的时候, 如果不指定Host,则为%, %表示表示所有IP都有连接板create user Xxx;
  • 你也可以这样指定 create user 'xxx'@'192.168.1.% 表示XXX用户在 192.168.1.*的ip可以登录mysql
  • 在删除用户的时候, 如果host 不是%,需要明确指定用户@'host值
倍福PLC--PERSISTENT断电保持数据和BOOT中各文件对应的解析 将D:\TC3程序\TwinCAT Project146\TwinCAT RT(x86)\Plc 文件夹的中三个替换文件复制到:G:\TwinCAT\3.1\Boot\Plc完成替换,如下图。(2) 找到程序所存的路径,编程电脑的D:\TC3程序\TwinCAT Project146路径下,并选择对应系统平台TwinCAT RT(x86)(3) 控制器断电,拔出内存卡,使用读卡器,在编程电脑中打开:(本次测试读卡器为G盘)(5) 开机完成后,TwinCAT自动运行,当前闪灯频率为50ms。 阅读详情

相关推荐

PSOC Creator 入门教程超详细

最近工作原因需要使用到赛普拉斯的一款芯片,奈何以前没有用过,所以趁这次也学习了一些简单的用法,总结一下,希望能帮到有需要朋友,因为网上关于这方面的文章少的可怜,详细点的更是少之又少!废话少说,正文开始.

qm_mq的博客 5747

MySQL之五种约束、索引、视图和事务

1、MySQL的五种约束 主键约束 PRIMARY KEY 唯一约束 UNIQUE KEY 默认约束 DEFAULT 非空约束 NOT NULL 外键约束 FOREIGN KEY 1.1主键约束 PRIMARY KEY 语法: 在定义字段的属性后面添加 PRIMARY KEY ,一般AUTO_INCREMENT和主键一起使用,让主键自增长 描述: (1)每张...

折戟沉沙 594

别再只用跳层连接了!手把手教你用DASI和MDCR模块提升红外小目标检测精度

本文详细介绍了如何利用DASI和MDCR模块提升红外小目标检测精度。通过分析传统跳层连接的缺陷,提出维度感知的特征选择性融合(DASI)和多尺度感受野精炼器(MDCR)的创新方案,显著提升小目标检测性能。实验证明,该方法在多个场景下AP@0.5提升达15.4%,特别适用于安防监控和遥感图像分析。

weixin_28715081的博客 224

non-transactional

this.getHibernateTemplate().getSessionFactory().getCurrentSession().createQuery(queryString)报错,因为没有配置事务

w938706428的专栏 1563

保姆级避坑指南:在Ubuntu 22.04上用ROS2 Humble搞定TurtleBot3的SLAM与导航(附5个常见报错解决方案)

本文提供了一份详细的Ubuntu 22.04上使用ROS2 Humble和TurtleBot3进行SLAM建图与导航的避坑指南,涵盖Gazebo启动失败、场景加载问题、环境变量设置、GLIBCXX版本冲突及Nav2参数配置等5个常见报错的解决方案,帮助开发者高效完成机器人导航项目。

weixin_29062823的博客 286

sysrepo 开发者指南(一个基于libyang与支持rpc的数据库)

sysrepo 开发者指南(一个基于libyang与支持rpc的数据库) 日志记录 默认情况下,所有 Sysrepo 日志记录都处于关闭状态。如果启用,日志消息有 3 种输出。它们可以写入stderr、由 处理syslog或简单地传递给回调。 请务必注意,启用 Sysrepo 日志记录也会修改libyang日志记录设置。错误消息被视为标准 Sysrepo 错误,其他严重性较低的消息完全隐藏。要更改此行为,只需在启用 Sysrepo 日志记录后调整libyang日志记录设置。 此外,几乎每个 Sysrepo

weixin_43489394的博客 9231

唯一性约束 [MySQL][数据库]

唯一性约束(UNIQUE) 唯一性约束的作用: 用来限制某个字段的值不能重复(但是可以有多个null) 唯一性约束的特点: 同一个表可以有多个唯一性约束 唯一性约束可以是某一个列的值唯一,也可以是多个列组合的值唯一 也就是说: 我们的唯一性约束可以声明为表级约束(可以声明为表级约束也就可以声明为复合约束) 唯一性约束允许列值为空 允许加了唯一性约束的字段的值有多个为null 在创建唯一性约束的时候,如果没有给唯一性约束命名,则唯一性约名默认和列名相同 MySQL会在加了唯一性约束的列上默认创建

m0_57001006的博客 9528

深信服技术认证“SCCA-C”划重点:信服云托管云

该认证包括云数据中心基础、云计算基础、云计算关键技术、云计算交付和运维体系、云计算技术商业应用、信服云托管云、深信服超融合HCI、深信服桌面云aDesk、深信服分布式存储EDS、深信服应用交付AD。学习并获得SCCA-C认证后,可以具备深信服产品功能原理与实践,能够根据业务需求,协助完成云产品方案落地与实施;能够根据业务需求,完成深信服云产品的部署和管理的基本工作。为帮助大家更加系统化地学习云计算知识,高效通过云计算工程师认证,深信服特推出“SCCA-C认证备考秘笈”,共十期内容。

sangfor_edu的博客 615

mysql数据库 | 数据类型 六大约束 三大范式

一.数据类型 mysql的数据类型主要分为数值类型,字符串类型,日期/时间类型三种. 数值类型: 数值类型可以指定为无符号(unsigned),表示不取负数。 1字节(bytes)= 8bit。 对于整型类型的范围: 有符号范围:-2^(类型字节数8-1)到2^(类型字节数8-1)-1,如int是4字节,就是-2^31到2^31-1 无符号范围:0到2^(类型字节数*8)-1,如int就是2^32-1 尽量不使用unsigned,对于int类型可能存放不下的数据,int unsi.

HUAERBUSHI521的博客 1003

Codex入门19-数据库操作(解放双手:用自然语言写SQL、建表和数据迁移)

写 SQL 是后端开发的日常,但复杂的 JOIN、子查询、窗口函数总让人头疼。本文教你用 Codex CLI 实现:自然语言直接生成 CREATE TABLE、复杂 SQL 查询、数据库迁移脚本(Prisma/Knex/Alembic)、ORM 模型代码(SQLAlchemy/TypeORM)、甚至自动生成数据库文档。重点强调安全红线——永远不要让 AI 直接连接生产数据库。从需求描述到完整数据库层代码,一篇搞定。

yueyeguzhuo的专栏 234

使用rknn进行facenet部署

修改facenet网络的forward函数代码。

如果想成为中心,那么就到中心去吧。 1047

MySQL约束和事务知识归纳。_mysql约束 锁

约束用于确保数据库的数据满足特定的商业规则。在mysql中,约束包括: not null,unique, primary key, foreign key, 和 check 五种。

m0_48567424的博客 1118

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

MySQL约束和事务知识归纳。_mysql约束 锁,腾讯字节等大厂面试真题汇总

约束用于确保数据库的数据满足特定的商业规则。在mysql中,约束包括: not null,unique, primary key, foreign key, 和 check 五种。

2401_84181975的博客 972

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Mysql入门到精通全集(SQL99)包含关系运算,软考数据库工程师复习首选

本文系统梳理了MySQL数据库的核心知识点,包括数据库基础概念、SQL语句分类、数据操作语言、数据定义语言、事务控制、存储引擎、索引、视图、数据库设计范式等。重点介绍了DQL查询语句的各种用法,如条件查询、分组查询、连接查询等,以及DDL语句的表操作和约束设置。同时详细讲解了触发器、存储过程、变量、流程控制等高级功能,并全面归纳了MySQL内置函数的分类和使用方法。全文结构清晰,内容全面,涵盖了MySQL数据库从基础到高级的核心技术要点,可作为MySQL学习的系统性参考文档。

渣渣盟的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Mysql知识点整理

组合索引的最左前缀原则是指,在查询时,MySQL会使用组合索引中的最左边的列(即索引定义中的第一个列)来进行查找,然后尽可能地使用接下来的列,直到遇到范围查询(例如。主要包括引擎(myisam和innodb),索引,索引类型,锁机制,事务特性,隔离级别,悲观锁乐观锁和字段类型等。INNER JOIN A INNER JOIN B ON A.id=B.id 只返回两表中匹配的行 两表的交集。1.事务的四大特性:原子性,一致性,隔离性,持久性。1)原子性:操作要么都全部完成,要么全部不完成。

Ivan_Leuang的博客 1894

MYSQL基础知识归纳

mysql基础知识

weixin_52479225的博客 557

MySQL数据库知识点归纳

show create view 视图名。

2301_77886316的博客 336

Mysql事务面试归纳

本文系统梳理了数据库事务的核心特性与并发控制机制。首先详解事务四大特性:原子性(通过undolog实现回滚)、一致性(数据完整性约束)、隔离性(并发事务互不干扰)和持久性(redolog保障)。针对并发问题,分析了脏读、不可重复读和幻读现象,并提出LBCC(基于锁)和MVCC(多版本控制)两大解决方案。特别指出MVCC虽能解决不可重复读,但因快照读与当前读的差异、新插入数据无历史版本等问题,无法完全消除幻读,需结合间隙锁使用。文章还提供了执行计划分析方法,通过id、select_type等字段优化查询效率,

weixin_46300935的博客 482

MySQL大总结

MySQL是程序员必须要掌握的,其实语法结构相比于其他的数据结构、Java、C++来说应该算是简单的,只要多多练习,拿下它应该不成问题。本文是将我学过的面试笔试重点的知识进行归纳总结,如果你认为写的不错的话,求点赞,求收藏,感谢!!! 一、MySQL数据库基础 1,数据库的操作 1.1、显示当前数据库 show databases; 1.2 、创建数据库 语法: CREATE DATABASE [IF NOT EXISTS] db_name [create_specif..

耀的博客 5万+

完整版MySQL基础知识梳理

MySQL是一个开源的关系型数据库管理系统,使用SQL语言来存储和管理数据。数据以表格形式存储,每个表由列和行组成,支持主键和外键来确保数据的唯一性和关联性。MySQL支持事务、索引等特性,广泛应用于Web和企业级应用中,提供高效的数据查询和多种存储引擎。(1)数据定义(DDL):用于定义数据库结构(如创建、修改、删除表)。[数据库的操作](2)数据定义(DDL):用于定义表结构(如创建、修改、删除表)。[表操作](3)数据类型:包括三个部分,数据类型、字符型类型和日期类型数据类型分类类型大小。

weixin_57198767的博客 1289

MySQL数据库知识整理归纳

数据库创建需要考虑的内容

码迹天涯的专栏 2026

mysql全部知识归纳总结

DQL 简单查询 13.1、查询一个字段? select 字段名 from 表名; 其中要注意: select和from都是关键字。字段名和表名都是标识符 强调:对于sql语句来说,是通用的。 所有的sql语句以“;”结尾 另外sql语句不区分大小写 13.2、查询两个字段,或者多个字段怎么办? 使用逗号隔开 查询部门编号和部门名? select dname,deptno from dept; 13.3、查询所有字段怎么办? 第一种方式:可以把每个字段都写上 select a,b,c,d,e,f .. f.

qq_45012512的博客 441

关于Mysql相关操作,了解和掌握的知识点

了解 和 掌握 mysql 数据库 相关的知识点

weixin_44004878的博客 912
上一篇: Spring boot 实战指南(二):Mybatis、动态绑定、多数据源、分页插件、Mybatis-Plus
下一篇: 程序员如果都懂SpringWebFlux框架的话,也不用天天CRUD了
java_lujj
博客等级 码龄4年 18粉丝 152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值