MYSQL概念及idea连接数据库管理系统语法分类DDL,DML,DQL,聚合函数,分组查询,约束,表关系

本文介绍了数据库的基本概念,包括数据库、数据库管理系统、SQL语言及其分类,并详细讲解了MySQL的安装、配置过程以及如何进行基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库相关概念:

  • 数据库是: 

                       存储数据的仓库,数据是有组织的进行存储; 英文:DataBase,简称 DB 

                              保存数据的仓库;保存数据的形式,需要程序员自己制定保存的数据格式;

                              优势是:将来可以通过sql语句,对存储的数据,进行增删改查(CRUD)的操作;

                       MySql 是:一款数据管理系统的软件(程序) ;可以管理数据库

  • 数据库管理系统:

                                 管理数据库的大型软件; 英文:DataBase Management System,简称 DBMS

  • SQL:

                 是:结构化化查询语言,可以相当于普通话,可以用sql语句操作不同类型的关系型

                操作关系型数据库的编程语言 ,定义操作所有关系型数据库的统一标准

                英文:Structured Query Language,简称 SQL,结构化查询语言            

                                                                                                      

  • 常见的关系型数据库管理系统:

                                                        Oracle:收费的大型数据库,Oracle 公司的产品

                                                        MySQL: 开源免费的中小型数据库。后来 Sun公司收购了 MySQL,而 Sun 公司又被                                                                                 Oracle 收购 SQL Server:MicroSoft 公司收费的中型的数据库。C#、.net 等语                                                                            言常使用

                                                        PostgreSQL:开源免费中小型的数据库

                                                        DB2:IBM 公司的大型收费数据库产品

                                                        SQLite:嵌入式的微型数据库。如:作为 Android 内置数据库

使用idea连接数据库管理系统

idea连接mysql

在idea的左上角位置找到如下图的 "database"按钮;

 

 

 

SQL的 通用语法:

                             注释:--单行注释,/**/多行注释;

                             每一行代码使用分号结束;

                             单词不区分大小写(建议关键词大写);

                             单引号或者双引号均可以当成字符串使用;

SQL分类(了解):

                              DDL(data Definition Language):数据定义语言,用来定义数据库对象:数据库,表,列

                                                                                DDL简单理解就是用来操作数据库,表

                                                                               手动创建一个库: 

                                                                                手动创建一个表:

                                                                                                               

                              DML(Data Manipulation Language):数据库操作语言,用来对数据库中表的数据进行增删改---重点

                                                                                         简单理解:是对表中数据进行增删改

                              DQL(Data Query Language):数据查询语言,用来查询数据库中表的记录(数据) ---重点

                                                  简单理解就是:对数据进行查询操作的,从数据库表中查询到我们想要的数据

                              DCL(Data Control Language):数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户  ---重点

                                                简单理解就是:对数据库进行权限控制。比如我让某一个数据库表只能让某一个用户进行操作等

DDL:重点练习 

        操作数据库:

                             1.展示:SHOW DATABASES   ----展示所有的数据库

                             2.创建:CREATE DATABASE t1(比如t1库) ---直接创建一个t1库

                                           CREATE DATABASE IF NOT EXISTS t1 ---如果不存在指定的库再创建

                             3.删除:DROP DATABASE t2 ---删除库t2

                                           DROP DATABASE IF EXISTS t2  ---如果存在就删(t2不存在运行成功)

                                           DROP DATABASE IF EXISTS t1  ---如果存在就删(t1存在删除成功)

                             4.选择:USE day08  ---选择要使用的库

                             5.查看:SELECT DATABASE();  ---查看正在使用的库

        操作数据

                              操作表就是:对进行增(Create) 删(Retrieve) 改(Update) 查(Delete) 

                             1.查看:SHOW TABLES; ---查看库中所有的表   (选择使用的库后,再选择要查看的表)

                                           DESC 表名称tes01; ---查看表结构

                             2.创建:CREATE TABALE test02(      ---  创建表           

                                                id int 非空(not null )  唯一(unique) 自动增长(out_increment), --- 修饰符可以加那么多

                                                字段名1(id)    数据类型1(int),

                                                字段名2(age)    数据类型2(int),

                                                字段名3(pname)    数据类型3(varchar(20)),

                                                指定主键primary  数据类型key(id)

                                                ...

                                                字段名n    数据类型n,

                                         );                                        ---  创建表                                                   

                             3.数据类型:

                                                数值:tinyint:小整数类型,占一个字节

                                                           int:大整数类型,占四个字节

                                                                eg:age int

                                                           double:浮点类型  --判断一个数据类型需不需要小数  需要的话就用double

                                                                         使用格式:字段名double(总长度,小数点后保留的位数)

                                                                          eg:score double(5,2) --5:总长度是5  --2:小数点后最多2位

                                                                          在数据类型中一共需要指定长度有两个类型:char或者varchar   double

                                               日期:

                                                       date:日期值,只包含年月日

                                                               eg:birthday DATE;

                                                        datetime:混合日期和时间值,包含年月日时分秒

                                               字符串:

                                                           char:定长字符串

                                                                   优点:存储性能高

                                                                   缺点:浪费空间

                                                                    eg:name char(10)如果存储的数据不足10个,会占用10个的空间

                                                             varchar:变长字符串 

                                                                          优点:节约空间

                                                                          缺点:存储性能低

                                                                          eg:name(10)如果存储的数据字符不足10个,那就数据字符个数是极就占                                                                                     几个的空间

                                               案例:

                             4.删除:DROP TABLE 表名test02;  --- 删除表

                                           DROP TABLE IF EXISTS 表名test02  --- 如果存在则删除

DML语句  重点:  

                             是什么?:是专门对表中的数据进行增删改操作的语句

                                             

                             DML增:INSERT INTO test01 VALUES(1,'迪丽热巴');---给test01表中添加数据

                                     USE day08;     ---前提选用day08库        

                                     批量增:INSERT INTO test01 VALUES(2,'马尔扎哈'),(3,'张三'),(4,'李四');---给所有列批量添加数据

                                     指定增:INSERT INTO test01(id) VALUES(6)   ---给指定的列添加数据,没有指定的列都是默认值

                                                                                                              select *from test01;

                            DML修:UPDATE 表名test01 SET 列名1=值1,列名2=值2,[WHERE 条件];

                                           where条件如果不增加会导致数据库中所有的数据通通发生改变

                                                                     

                           --- 修改数据:UPDATE test01 SET sex = '男' where id = 1; 

                                                  UPDATE test01 SET sex= '男' WHERE id = 3 or id = 4; 

                                                  UPDATE test01 SET sex= '女' WHERE id IN(1,4);                            

                                                

                                                                                                   ---与null比较的时候不能用=号,只能用is null或者is not null 

                                                  UPDATE test01 SET sex= '男' WHERE name = null;

                                                  UPDATE test01 SET sex= '男' WHERE name IS NULL;is null :意思等于null

                                                  UPDATE test01 SET sex= '男' WHERE name IS NOT NULL;is not null :意思不等于null

                                                 

                                                   加法:UPDATE test01 SET age = age+2 WHERE name = '马尔扎哈'

                                                                                                              

                           DML删:DELETE FROM test01 WHERE name IS NULL;---      删除数据

 DQL查询语句  重要-3星: 

                                        SFGHOL :S:SELECT, F:FROM, W:WEHERE, G:GROUP BY, H:HAVING, O:ORDER BY, L:LIMIT

                                                              字段列表   表名列表   条件列表     分组字段        分组后条件   排序字段    分页限定

                                                字段列表   表名列表  

                                         1查:SELECT * FROM stu;--- 查询所有数据

                                                  SELECT DISTINCT address FROM stu  ---查询表中所有的数据

                                                                  去重   :只能对一列去重 除非两个列的数据一样的 可以去重出来数据

                                                起别名:SELECT address AS 地址哈 FROM stu; ---使用as起别名,as可以省略不写

                                                              

                                                 字段列表               表名列表     条件列表 

                                         2条件:SELECT 字段列表 FROM 表名 WHERE 条件列表  ---条件列表可以使用以下运算符

                                                 --- 查询年龄大于等于20岁 并且 小与等于38岁的 学生信息

                                                 SELECT * FROM stu WHERE age >= 20 AND <= 38;

                                                 或:SELECT * FROM stu WHERE age BETWEEN 20 AND 38;

                                                        ---查询入学日期在'1998-09-01' 到 '1999-09-01' 之间的学员信息

                                                        SELECT* FROM stu WHERE hire_date BETWEEN '1998-09-01' AND '1999-09-01';

                                                        ---查询年龄不等于18岁的学员信息

                                                            SELECT * FROM stu WHERE age != 18;
                                                            SELECT * FROM stu WHERE age <> 18; 

                                                        ---查询年龄等于18岁 或者 年龄等于20岁 或者 年龄等于22岁的学员信息

                                                            SELECT * FROM stu WHERE age = 18 OR age = 20 OR age = 22;

                                                            SELECT * FROM stu WHERE age IN (18,20 ,22);

                                                        ---查询英语成绩为 null的学员信息;

                                                            null值的比较不能使用 = 或者 != 。需要使用 is 或者 is not

                                                           SELECT * FROM stu WHERE english = null; -- 这个语句是不行的

                                                           SELECT * FROM stu WHERE english IS NULL;

                                                           SELECT * FROM stu WHERE english IS NOT NULL;   

                                          3模糊:关键字 LIKE,可以使用通配符进行占位:_:代表单个任意 字符; %:代表任意 数字符

                                                    SELECT  * FROM stu WHERE name LIKE "马%";--查询姓'马'的学生信息    

                                                    SELECT  * FROM stu WHERE name LIKE "_花%"; --查询第二个字是'花'的学员信息

                                                    SELECT  * FROM stu WHERE name LIKE "%德%"; --查询名字中包含'德'的学员信息

                                    

                                          排续:   字段列表                           表名列表      排序字段  ASC:升序排列(默认)  SESC:降序排列

                                                     SELECT name,english,math FROM stu ORDER BY english DESC;

                                                     ---按英语成绩降序排序排列查询信息         

                                         --按总成绩降序排列,如果总成绩一样,则按照英语成绩升序排列查询,不包含为null的同学

                                        SELECT name,math+stu.english 总成绩,math,english FROM stu WHERE english

                                        IS NOT NULL  ORDER BY 总成绩 DESC,english;

                                    聚合函数:   SELECT 聚合函数名(列名) FROM 表; --- 将一列数据作为一个整体,进行纵向计算

                                                         SELECT avg(english) FROM stu; ---求平均分(聚合函数会自动忽略NUll值)

                                                         SELECT count(*) FROM stu;---求总数量

                                                          ...如下表操作 一样不再一 一操作   下表为:聚合函数的分类

  

                              分组查询重点: SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名                                                         [HAVING 分组后条件过滤];

               字段列表                                  表名列表     分组字段                                         

              SELECT name ,max(english) FROM stu GROUP BY sex;  --以性别分组查询分组后每个分组中学生的英语最高分

              SELECT name sex ,avg(math) FROM stu GROUP BY sex; --以性别分组查询分组后每个组中学生的数学平均成绩

              SELECT sex,avg(math) FROM stu WHERE math>=60 GROUP BY sex;

              以性别分组查询分组后每个组中学生的数学平均成绩,不及格的学生不参与

              

               SELECT sex ,count(*) FROM stu WHERE math >= 60 GROUP BY sex; --求男女生各自数学成绩及格分的人数                   --求男女生各自数学成绩及格分的人数,且按照人数降序排序

               SELECT sex,count(*) c FROM WHERE math >= 60 GROUP BY c DESC;

               -- 求男女生各自数学成绩及格分数的人数大于3个人的组,且按照人数降序排列   HAVING  分组后条件 

               SELECT sex,count(*) c FROM stu WHERE math >= 60 GROUP BY sex having c > 3 ORDER BY c DESC    where和having区别: 

                                   执行时机不一样:where是分组之前进行限定,不满足where条件,则不参与分组,

                                                                而having是分组之后对结果进行过滤。 

                                  可判断的条件不一样:where不能对聚合函数进行判断,having可以。     

                  分页查询:                                                                                                  

                                 计算公式:起始索引(跳过的条数)= (当前页码-1)* 每页显示的条数

                                                                              第一个4= 2-1*1=4;第二个4:就是每页显示的条数

                                 SELECT * FROM stu LIMIT 4,4  --每页查询4条,查询第2页

                                 SELECT * FROM stu LIMIT 4,2  -- 每页查询2条,查询第3页

 1约束  重要-1星:

                          约束是:相当于java中的修饰符,可以在创建表的时候对数据进行各种“限制”

                                      分类:主键约束 primaryKey   唯一约束 unique  非空约束 not null  自增约束 auto_increment

                                                 默认值约束 default   检查约束 check(mysql不支持)  外键约束 forign key

                                                主键:1张表中最多只能有1个主键,但是这个主键可以由多个列共同担当(联合主键);

                                                            其作用就是:用于区分表中的每一条数据记录的;  

                                                         演示联合主键  :create table abc(
                                                                                                                    a int not null ,
                                                                                                                    b int not null ,
                                                                                                                    c int,
                                                                                                                    primary key (a,b) -- a和b联合在一起充当主键
                                                                                        );

                                                         演示主键自增
                                                                                  create table bbc(
                                                                                                                    a int not null unique auto_increment primary key ,
                                                                                                                    b int not null ,
                                                                                                                    c int

                                                                                                              );

                                                                                  insert into bbc values (0,2,6);
                                                                                  insert into bbc values (null,5,9);
                                                                                  insert into bbc values (6,6,6);

                                                外键:用于维系两张表之间的关系的,外键一般都设计在多的一方,指向主表的主键,

                                                           将来给从表(多的一方)添加数据的时候,外键列的值必须和主表(1的1方)的主键值一致,

                                                           否则添加失败, 

                                                           将来给主表删除数据的时候,必须保证从表中没有数据与这个数据想关联,否则删除失败!

                                                           其作用:就是维护数据的安全性和完整性!

                                                           演示外键:

                                                            外键约束 :

                                                                                关键字是:FOREIGN KEY  

                                                                                外键用来让两个表的数据之间建立连接,保证数据的一致性和完整性。

                                                                          创建表时添加外键约束  创建一个员工表

                                                         CREATE TABLE emp(
                                                         eid int not null unique primary key auto_increment,
                                                         ename varchar(32),
                                                         dept_id varchar(20),

                                                              ​​​​​​ [约束]        ​​​​​​ [外键名称]                                        (外键列名)        [参照]     (主表列名
                                                         CONSTRAINT emp_dept_fk_haha FOREIGN KEY(dept_id) REFERENCES dept(did)
                                                          );

                                                                            创建部门表dept

                                                         CREATE TABLE dept(
                                                         did varchar(20) not null unique primary key,
                                                         dname varchar(32)
                                                         );                                alter      table           drop    foreign       key

                                                                        删除外键:ALTER TABLE emp DROP FOREIGN KEY emp_dept_fk_haha; 

2 数据库设计(表关系很重要-2级):

     一、数据库设计简介:

                                   软件的研发步骤 : 

                                   数据库设计概念 :1.数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS,

                                                                 为这个业务系统构造出最优的数据存储模型。    

                                                                 2.建立数据库中的==表结构==以及==表与表之间的关联关系==的过程。    

                                                                 3.有哪些表?表里有哪些字段?表和表之间有什么关系?

                                   数据库设计的步骤:   

                                                                 1. 需求分析(数据是什么? 数据具有哪些属性? 数据与属性的特点是什么)              

                                                                 2.逻辑分析(通过ER图对数据库进行逻辑建模,

                                                                                                                   不需要考虑我们所选用的数据库管理系统)

             3.如右图就是ER(Entity/Relation)图:

                                                                 4.物理设计(根据数据库自身的特点把逻辑设计转换为物理设计)

                                                                 5.维护设计(1.对新的需求进行建表;2.表优化)

     表关系:

                一对一:

                           如:用户 和 用户详情

                                一对一关系多用于表拆分,将一个实体中经常使用的字段放一张表,不经常使用的字段放另一张表,

                                用于提升查询性能

                                

                                 上图左边是用户的详细信息,而我们真正在展示用户信息时最长用的则是上图右边红框所示,

                                 所以我们会将详细信息查分成两周那个表。

             实现方式:在任意一方加入外键,关联另一方主键,并且设置外键唯一(UNIQUE)

             案例:

        用户表 举例:  

                                               

                                        而在真正使用过程中发现 id、photo、nickname、age、gender 字段比较常用,

                                        此时就可以将这张表查分成两张表。  

                                                    建表语句如下:

                                                

                                                 

                一对多:

                           如:部门 和 员工  

                                 一个部门对应多个员工,一个员工对应一个部门。如下图:  

                               

                           实现方式:在多的一方建立外键,指向一的一方的主键   

                           案例:

          员工表部门表 举例:

                                                                          经过分析发现,员工表属于的一方,而部门表属于一的一方,

                                                                                                           (一个员工只有一个部门,而一个部门则有多个员工)

                                                                          此时我们会在员工表中添加一列(dep_id),指向于部门表的主键(id):                                                                               

                                                                         建表语句如下:

                                                                                                                                    

                多对多:

                            如:商品 和 订单     

                                   一个商品对应多个订单,一个订单包含多个商品。如下图:

                                   

                            实现方式:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键

                            案例:

             订单表商品表 举例:

                                                                        

                                                                       经过分析发现,订单表和商品表都属于的一方,此时需要创建一个中间表,

                                                                        (一个商品可以产生多个订单,一个订单可以包含多个商品) 

                                                                       在中间表中添加订单表的外键和商品表的外键指向两张表的主键

                                                                                                                                                                                                   

                                               

多表查询 (重要-3星): 

                                      多表查询是:多张表的数据 ,关联起来查询;

                                      直接查询多表的现象(笛卡尔积):如果这样查询:SELECT * FROM emp,dept

                                                                                           虽然语法正确,但是不能这么查询,因为这样会产生错误的组合数据

                                                                                            这个不是我们想要的结果;

                                       

                                        

                                         一、笛卡尔积:

                                                                   应该使用多表查询的语法查询 ,内连接 外连接 子查询

                                                                   内连接:

                                                                              隐式内连接:只查询有关联的数据

                                                                 

                                                                 

                                                                 

                                                                 

                                                                 

 

 

                                                                             显示内连接(了解):

                                                                    左外连接:

                                                                                                                                                                                

                                                                                       

 

 

 

                                                                    右外连接:

                                                                    子查询:

                                                                                

 

 

    事务(概念重要-1星):

                      概述:

                             数据库的事务(Transaction)是:一种机制、一个操作序列,包含了一组数据库操作命令。  

                             事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,

                             即这一组数据库命令,要么同时成功,要么同时失败  

                             事务是:一个不可分割的工作逻辑单元

                             事务就是:人为规定的一个逻辑整体,可以包含多个数据库操作的动作;

                             这样做可以保证我们的这个逻辑整体中的所有操作,要么全部成功,要么全部失败,不允许出现一部分成功

        语法:

                   开启事务:START TRANSACTION;或者BEGIN

                   提交事务:COMMIt;

                   回滚事务:ROLLBACK;

                   代码验证: 

                                环境准备:

                    事务的四大特征:

                                                原子性(Atomicity): 事务是不可分割的最小操作单位,要么同时成功,要么同时失败  

                                                一致性(Consistency) :事务完成时,必须使所有的数据都保持一致状态

                                                隔离性(Isolation) :多个事务之间,操作的可见性

                                                持久性(Durability) :事务一旦提交或回滚,它对数据库中的数据的改变就是永久的  

         

        

  

                                 

                              

二 MySQL 数据库

  • MySQL 安装
  • MySQL 卸载
  • MySQL 配置
  • MySQL 登陆、退出
  • MySQL 数据模型
     

安装:

安装环境:Win10 64位 软件版本:MySQL 5.7.24 解压版

一、下载

点开下面的链接: MySQL :: Download MySQL Community Server (Archived Versions)

选择选择和自己系统位数相对应的版本点击右边的Download,此时会进到另一个页面,同样在接近页面底部的地方找到如下图所示的位置:

不用理会上面的登录和注册按钮,直接点击No thanks, just start my download.就可以下载。

二、安装(解压)

下载完成后我们得到的是一个压缩包,将其解压,我们就可以得到MySQL 5.7.24的软件本体了(就是一个文件夹),我们可以把它放在你想安装的位置。


三、配置

1. 添加环境变量

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

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

点击环境变量

系统变量中新建MYSQL_HOME

系统变量中找到并双击Path

点击新建

最后点击确定。

如何验证是否添加成功?

右键开始菜单(就是屏幕左下角),选择命令提示符(管理员),打开黑框,敲入mysql,回车。 如果提示Can't connect to MySQL server on 'localhost'则证明添加成功; 如果提示mysql不是内部或外部命令,也不是可运行的程序或批处理文件则表示添加添加失败,请重新检查步骤并重试。

2. 新建配置文件

新建一个文本文件,内容如下:

[mysql]
default-character-set=utf8

[mysqld]
character-set-server=utf8
default-storage-engine=INNODB
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

把上面的文本文件另存为,在保存类型里选所有文件 (*.*),文件名叫my.ini,存放的路径为MySQL的根目录(例如我的是D:\software\mysql-5.7.24-winx64,根据自己的MySQL目录位置修改)。

上面代码意思就是配置数据库的默认编码集为utf-8和默认存储引擎为INNODB。

3. 初始化MySQL

在刚才的黑框中敲入mysqld --initialize-insecure,回车,稍微等待一会,如果出现没有出现报错信息(如下图)则证明data目录初始化没有问题,此时再查看MySQL目录下已经有data目录生成。

mysqld --initialize-insecure

tips:如果出现如下错误

是由于权限不足导致的,去C:\Windows\System32 下以管理员方式运行 cmd.exe

4. 注册MySQL服务

在黑框里敲入mysqld -install,回车。

mysqld -install

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

MySQL服务器

5. 启动MySQL服务

在黑框里敲入net start mysql,回车。

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

6. 修改默认账户密码

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

mysqladmin -u root password 1234

至此,MySQL 5.7 解压版安装完毕!


四、登录MySQL

右键开始菜单,选择命令提示符,打开黑框。 在黑框中输入,mysql -uroot -p1234,回车,出现下图且左下角为mysql>,则登录成功。

mysql -uroot -p1234

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

退出mysql:

exit
quit

登陆参数:

mysql -u用户名 -p密码 -h要连接的mysql服务器的ip地址(默认127.0.0.1) -P端口号(默认3306)


五、卸载MySQL

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

右键开始菜单,选择命令提示符(管理员),打开黑框。

  1. 敲入net stop mysql,回车。

net stop mysql

  1. 再敲入mysqld -remove mysql,回车。

mysqld -remove mysql

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

至此,MySQL卸载完成!

MySQL目录结构

 MySQL数据模型

 关系型数据库

关系型数据库是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的 二维表 组成的数据库

优点

都是使用表结构,格式一致,易于维护。

使用通用的 SQL 语言操作,使用方便,可用于复杂查询。

数据存储在磁盘中,安全。 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值