第七节---视图和索引

业务需求分析和建模 第四节: 规范化 1、异常的概念 关系数据库理论的意图是消除数据库中发生的异常,数据库设计的异常在本质上是对数据的错误修改,甚至可以对单个记录修改。 1)插入异常,将记录添加到子表中,而主表不存在相关任何记录。 2)删除异常,删除主表中数据库,而子表中数据没有先删除。 3)更新异常,更新主表后,子表必须更新以免出现数据关联外键问题。 2、依赖、决定因子、其他数据 Y=X+1 1)函... 阅读详情

视图

  • 关键字view

    • 语法:create view 名称 as 联表查询

  • 相同的联表语句可以创为一个视图

  • 新建视图可以对联表语句查询的结果进行封装,封装后可以对结果直接引用

  • 删除视图

    • drop view 名称

  • 四个数据表的联接本质上就是两个视图的联接

    • 这两个视图也需要条件的限制,否则就是将其中一个表格的其中一行对应另一个表格的每一行

  • 四个视图联接的案例

-- 用户表和计划表联接视图

create view yi as 
select 
        a.id user_id,
        a.name user_name,
        a.phone user_phone,
        a.nric user_nric,
        b.id plan_id,
        b.user_id plan_user,
        b.room_id plan_room,
        b.begin plan_begin,
        b.end plan_end
from user a inner join plan b on a.id = b.user_id;

-- 类型表和房间表联接视图

create view er as
select
        a.id type_id,
        a.name type_name,
        b.id room_id,
        b.no room_no,
        b.type_id room_type,
        b.description room_description,
        b.price room_pricce
from type a inner join room b on a.id = b.type_id;

-- 四个表联接

create view san as 
select * from yi a inner join er b on a.plan_room = b.room_id;
  • 表与表之间相互连接的时候要注意有没有相同的列段名,如果有的话需要取别名,后续应用的时候可以直接引用别名,需要避免列段重复,别名建议使用英文。

  • 两个表之间的联接是寻找表与表之间的联系之处,两个视图之间的联接也不例外。

  • 视图只是保存的查询而不储存数据,相当于一张虚拟的表格,视图无法实时更新。

索引

  • 提高查询速度的数据结构

  • 作用:

    • 提高查询数据的速度

    • 加速排序和分组

    • 唯一性约束

    • 但是会,增加储存空间,以及影响读写速度

  • 创建索引:index

    • create index 索引名称 on 表名(列段名);

      • create index aa on book(title);

      • 当查询book表格里面的title列段的时候速度变得更加快

      • 当查询次数很多的时候可以添加索引,并不一定每个字段都得添加

  • 删除索引

    • drop index aa on book(title);

大数据——分布式数据库HBase 第一节. 概述 第二节. HBase访问接口 第三节.HBase数据模型 第四节. HBase的实现原理 第五节.HBase运行机制 第六节.应用方案 第七节.HBase编程实践 一、概述 1.简介 HBase是谷歌BigTable的开源实现。 HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库。 HBase主要用来存储非结构化和半结构化的松散数据。 Hbase架构在HDFS之上,HDFS是存储完全非结构化数据 HBase的目标是处理非常庞大的表,可以通过水平扩展的方式,利用廉价计算机集群处理由超 阅读详情

相关推荐

第三章.数据库系统

目录第三章.数据库系统第一节.三级模型——两级映射第二节.数据库设计过程第三节.E-R模型 第三章.数据库系统 该章内容在上午的综合题、下午的案例分析和论文都可能涉及到数据库系统相关知识。 重点:规范化理论(必考)、关系代数(必考) 第一节.三级模型——两级映射 层次性的架构设计,为我们应用的时候提供了很多方面的便利。让整个体系的可维护性、应变能力变得更好一些了。 三级模式——两级映射 掌握哪三级关系,哪两级映射,他们分别对应着什么,我们需要了解, 从示意图上可以看到,物理数据库在系统和计算机上的表现形

努力的小白马 4977

数据库视频第五章总结

** 第五章 ** 第一节 创建视图 语法格式:Create View_name(view_column_name) As query_expression [with check option] 用语句创建视图:create view_studentinfo As Select a.姓名,a.性别,a.民族,a.家庭住址,B。班级姓名 From 学生信息a,班级信息B Where a.所属班级=...

无 288

WSL 相关命令时遇到了 “无法从raw.githubusercontent.com提取分发列表、操作超时

核心问题:国内网络屏蔽raw.githubusercontent.com,导致WSL无法获取发行版列表;最优方案:优先用方案1(手动指定发行版安装),无需改配置,1分钟搞定;永久修复:用方案2(修改hosts),适合需要管理多个WSL发行版的场景;兜底方案:用方案3(手动下载安装包),适配所有网络环境。按以上步骤操作后,你不仅能正常安装WSL,等命令也能正常执行,后续可正常使用WSL搭配Docker Desktop(如切换WSL 2后端),无需再担心网络超时问题。

weixin_39766667的博客 2139

第七节 DTCloud Char字符串 类型字段

readonly=True 视图字段为只读,不可编辑,但如果在视图中定义属性以视图为准。copy=False 数据被复制时是否同时复制当前字段。groups=“hr.group_hr_user" 权限字段,用户在当前组中可见。compute=‘_compute_full_name' 函数全名,支持动态计算。required=True 字段设置必填。]让依赖字段重新计算一次。

DTCloud 401

一文掌握python图形界面开发PyQt6--(一)基本操作、控件、信号与槽、常用控件、布局管理、事件处理、文件对话框

一文掌握python图形界面开发PyQt6--(一)基本操作、控件、信号与槽、常用控件、布局管理、事件处理、文件对话框

qq_38120851的博客 4046

电动汽车欧标直流充电标准解析

电动汽车和电动汽车充电市场是动态发展的,欧洲也正在努力部署基础设施,以支持欧洲快速增长和多样化的电动汽车充电需求。

网络安全的研究者、新能源行业的追求者 7619

【MySQL学习总汇】持续更新中~

带你零基础搞懂MySQL,持续更新中~

lolly1023的博客 860

PV-RCNN实战:如何在KITTI数据集上实现3D目标检测(附完整代码解析)

本文提供了在KITTI数据集上实战PV-RCNN 3D目标检测的完整指南,涵盖环境配置、数据预处理、模型训练与评估全流程。通过详细的代码解析和调参技巧,帮助读者掌握这一融合点与体素优势的经典3D目标检测模型,并实现从理论到实践的跨越。

weixin_29098391的博客 403

第七节 Vue 3.0 列表渲染

第七节 Vue 3.0 列表渲染

2501_92886572的博客 856

Mac 环境配置jdk、Maven

3、终端打开配置jdk时候建好的脚本文件: open -e .bash_profile。4、查看maven是否安装成功和系统能不能识别maven/mvn命令:⬇️。输入⬇️并保存: 其中第一行JAVA_HOME替换为自己下的jdk路径。,安装编译好的二进制版本,具体安装zip还是tar.gz我看的。5、查看jdk是否安装成功和系统能不能识别java命令:⬇️。至此,我的Mac系统的环境配置jdk、Maven完成!然后就发现我的maven命令还是没作用,不识别,下载后直接安装即可,很快,点几下就OK了。

weixin_42416791的博客 4399

华为OD机试真题2025双机位C卷 Java&Go 实现【卡牌游戏】

小明正在尝试一种新的牌游戏。游戏规则只如下:首先,小明拿到一张写有数字m的牌。 然后,他会拿到另外n张牌,上面分别写有不同的数字,牌排成一排。小明的目标是从这排牌中找到一串连续的牌,这些牌上数字的总和可以被 m整除。你的任务是判断小明是否可以完成这个目标。

MISAYAONE的博客 392

其它数据库对象练习

这一节我们讲了序列索引和同义词,加上我们之前的视图和表,整个常用的数据库对象就是这样一些, 假设问到这个问题 65. 创建序列: 1). create sequence hs increment by 10 start with 10 2). NEXTVAL 应在 CURRVAL 之前指定 ,二者应同时有效 我们先讲了一个数据对象叫表,视图,序列,索引,同义词,相...

Leon_Jinhai_Sun的博客 326

JAVA:Spring Boot 集成 Forest 优雅的 HTTP 客户端

Forest是一个优雅的Java HTTP客户端框架,通过注解式声明简化HTTP接口调用。它支持多HTTP客户端、自动参数绑定、序列化、重试机制和拦截器等功能。本文演示了如何在Spring Boot中集成Forest,包括配置、接口定义和调用示例,还展示了POST请求、文件上传等常见场景。相比传统HTTP客户端,Forest具有声明简洁、功能完善的特点,特别适合微服务调用和第三方API对接,能显著提升开发效率和代码可维护性。

木头 427

MySQL学习要点(8/10)

MySQL学习要点(8/10)第七节.视图1) 视图概述2) 视图创建或修改3) 视图使用4) 使用限制 第七节.视图 1) 视图概述 MySQL从5.0.1版本开始提供视图功能。一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了SQL逻辑,不保存查询结果 ● 应用场景: – 多个地方用到同样的查询结果 – 该查询结果使用的sql语句较复杂 示例:...

weixin_44666368的博客 329

不会C# Winform用户界面设计?是因为没有掌握这些控件(建议收藏)

文章目录6.1 常用控件6.1.1 单选按钮(RadioButton)6.1.2 复选框(CheckBox)6.1.3 框架1. 面板控件Panel2. 分组框GroupBox3. TabControl控件6.1.4 应用实例6. 2 列表框和组合框6.2.1 列表框(ListBox)6.2.2 组合框(ComboBox )6.2.3 应用实例6.3 用户交互界面6.3.1 滚动条和进度条6.3.2 定时器6.3.3 菜单设计菜单设计概述MenuStrip和ContextMenuSt

智慧空间实验室 2920

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

创建和管理表

我们前六节都是和查询相关的,查询也是我们对数据库最常用的一个操作,从这节开始我们就讲下面的 内容,我们稍微回顾一下,我们整体的一个框架,我们在开始讲SQL语言的时候,说他又细分成三种类型, 叫DML,DDL,DCL,其中DML是我们比较熟知的增删改查,前六节我们一直在做查询的操作,增删改相当于 对数据库表数据管理的一些其它操作,这个我们放在第八节给大家讲,增删改在数据库里跟大家讲, 第...

Leon_Jinhai_Sun的博客 321

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

第三章:SQL基本使用

❖掌握 ⬧ CREATE DATABASE CREATE SCHEMA ⬧ CREATE TABLE CREATE INDEX ❖了解 ⬧ SQL语言的历史、特点 ❖重点 ⬧ 数据库、模式、表、索引的创建、删除 ❖难点 ⬧ 模式 集成管理系统 ❖ 第一节 SQL概述 ❖ 1. SQL ⬧ SQL语言原名SEQUEL(读作[si:kwl]),是一个通用的、功能...

异侠 658

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

《MySQL实战45讲》(1-7)笔记

《MySQL实战45讲》笔记 文章目录《MySQL实战45讲》笔记**第一节**: 基础架构:一条SQL查询语句是如何执行的?连接器查询缓存分析器优化器执行器第二节:日志系统:一条SQL更新语句是如何执行的?重要的日志模块:redo log重要的日志模块:binlog两阶段提交总结第三节:03.事务隔离:为什么你改了我还看不见?隔离性与隔离级别事务隔离的实现事务的启动方式如何避免长事务第四节: 深入浅出索引(上)第五节: 深入浅出索引(下)第六节: 全局锁和表锁 :给表加个字段怎么有这么多阻碍第七节: 行锁

wbo 246

08.05每日总结

C++ :基础编程 /线性代数:列空间 零空间 齐次线性方程组 /MySQL:SQL优化 视图 存储过程 /leetcode刷题:三数和:排序+指针对撞

A2583591687的博客 19

ASP.NET MVC3 快速入门-第七节 在Movie(电影)模型与数据表中添加一个字段 .

在本节中我们将要对我们的模型类进行修改,同时介绍如何在ASP.NET MVC3中根据这些修改来调整我们数据表的结构。 7.1 在我们的Movie模型中添加一个Rating(电影等级)属性     首先,我们在现存的Movie类中添加一个附加的“Rating”属性。打开Movie.cs文件,在Movie类中添加一个Rating属性,如下所示。 [csharp] view pla

C# 移动手机应用 1367

python之numpy数据处理训练营 - 入门即实战 - 保姆级numpy教程

numpy是python中最流行的数学库之一,它利用有效的数组操作工具为数据处理提供了高质量、高效率的支持。numpy不仅支持数值运算、线性代数等基本数学计算,还支持数组创建、操作、索引、切片和排序等物理运算。因此,它被广泛应用于科学、工程、金融甚或通用数据处理等领域。Numpy数据处理训练营,训练营聚焦于实践应用,课程内容由浅入深,非常适合Numpy初学者和想要提高自己的人学习,涵盖了NumPy的主要功能和应用。

qq_43290778的博客 248

2026年第一场数据库大会,PolarDB有什么大招? --本帖留言写期望,阿里云送你小礼物

开头还是介绍一下群,如果感兴趣PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, OceanBase, Sql Server等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共3400人左右 1 + 2 + 3 + 4 +5 + 6 + 7 + 8 +9)(1 2 3 4 5 6 7 8群已经爆满 9群 300+,开10群PolarDB专业学习群110+)用MySQL 分区表脑子有水!

sql server的专栏 510

ios UI 基础开发二

通过代码加载通过storyboard 加载通过xib创建。

qq_37672438的博客 957

surfelwarp翻译

高效的非体积单视图动态重建 文章目录`高效的非体积单视图动态重建`一、摘要三、预备条件四、总览五、深度图处理六、深度图融合和扭曲场更新A. 实时帧融合B. 实时面元蒙皮 SkinningC. 解决压缩变形场D. 面元的增补和扭曲字段更新E. 初始化F. 模型重新初始化G. 复杂性七、非刚性扭曲场估计八、实现细节九、图文说明十、总结参考论文:公式 表面表示方法 (Surfel:Surface element) wiki: surfel surfel用于模型渲染,相当于一块面片,主要参数有: 空间点坐标:面片

qq_42968061的博客 863

【年末超级福利 | OCM第21期开班】第21期Oracle 11g OCM培训第1场将于今天晚上20点在腾讯课堂免费讲解...

注意:据最新内部消息,Oracle 11g的OCM最晚考试时间延迟到2020年4月底,所以,想考11g OCM的朋友可以抓紧时间继续报名。Oracle 11g OCM第21...

小麦苗DBA宝典 1063

数据库速成笔记

文章来自于优快云张无忌的课程,我做了简要总结,方便计算机研究生复试

m0_55846001的博客 1010
上一篇: 第六节---高级查询
下一篇: 数据库---重点汇总(复习必用)
码_先生
博客等级 码龄4年 256粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值