数据库create详细用法


数据库版本:KingbaseES V008R006C008B0014


简介

    本篇文章主要以kingbase为例介绍创建表的基本语法、使用案例和添加描述等方法,在目录2、目录3再详细介绍数据类型和列级约束。

        

文章目录如下

1. 基本用法

1.1. 基础语法

1.2. 基础案例

1.3. 添加描述

2. 数据类型

2.1. 字符类型

2.2. 数值类型

2.3. 日期类型

2.4. 大对象类型

2.5. 布尔类型

2.6. 网络地址类型

2.7. UUID类型

3. 列级约束

3.1. 主键约束(primary key)

3.2. 唯一约束(unique)

3.3. 非空约束(not null)

3.4. 外键约束(foreign key)

3.5. 检查约束(check)

3.6. 默认约束(default)

4. 总结


        

1. 基本用法

1.1. 基础语法

CREATE 语句用于在数据库中创建各种对象,比如创建库、模式、表、索引和视图等。

本篇文章主要介绍创建表的用法,基础语法如下:

/*方括号表示可选*/
CREATE TABLE 表名(列名1 数据类型1 [列级约束1] ,列名2 数据类型2 [列级约束2]......[表级约束(主键、外键、唯一等)]
);
  • 数据类型:定义该列可以存储的数据的类型(例如:字符、数字等)。
  • 列级约束:定义该列的规则(例如:唯一、非空等)。
  • 表级约束:应用于整个表或多个列之间的规则(例如:外键、检查等)。

        

1.2. 基础案例

数据库中的表就类似于excel中的表,用于存储信息。例如excel表格信息:

这张表的作用是记录每个人的身份信息,总共2列数据:

  • 第1列姓名:数据类型为字符,名字长度一般不超过64位
  • 第2列身份证号可能存在字母,也属于字符类,长度为18位且唯一

根据表的作用和存储的数据,在创建表时定义对应的规则:

CREATE TABLE 表名(
/*  列名       数据类型    列级约束    */姓名       text       not null,  --类型为字符,不能为空身份证号   char(18)   unique     --长度为18位,且唯一
);
  • 数据类型text和列级约束not null对于新手来说有点抽象,那么就从英语翻译来看(text表示文本,not null 表示不能为空)。这些在目录2、目录3都有详细介绍,案例这里只需要能看懂就行。

而小李、小王是属于表中的数据,则需要使用INSERT将其插入进去:

INSERT INTO表名
VALUES('小李', '320524199012305678'),('小王', '14082919870523210X');

结果如下:

        

理解了如何创建一张简单表,那么再来看看这张复杂点的表:

上述举了一个员工信息的表格,将该信息转换到数据库同样需要2步。

1、创建表格:

CREATE TABLE 员工信息表(
/*  列名      数据类型        列级约束         */工号      int            primary key,    --整数类型,主键唯一约束姓名      varchar(128)   not null,       --字符类型,不能为空性别      varchar(2)     default '男',   --字符类型,默认'男'年龄      int            not null,       --整数类型,不能为空学历      varchar(32)    not null,       --字符类型,不能为空薪资      decimal(10,2)  not null,       --定点数类型,不能为空入职日期  date           default now()   --日期类型,默认当前日期
);

我们将其创建到数据库中,得到如下信息:

        

2、将数据添加到表中:

INSERT INTO员工信息表
VALUES(1, '张三', '男', 25, '本科', 8000, '2000-01-01'),(2, '小兰', '女', 19, '硕士', 11000, '2000-01-02'),(3, '李四', '男', 29, '初中', 5000, '2000-01-03');

向表中添加信息后,就能根据每列的列名清晰的了解到每个员工的信息。

         

注意以上只是举例,在实际应用过程中尽量不使用中文,否则可能乱码 

        

1.3. 添加描述

在一个系统中会存在成千上万张表,某些表名或列名可能类似,在这种情况下就需要对该表或列添加描述。

1、对表添加描述:

--如果该表不存在描述则添加,如果存在则修改
COMMENT ON TABLE 表名 IS '描述信息';

查看该表的描述:

SELECTdescription
FROMsys_description
WHEREobjsubid = 0
ANDobjoid = '表名'::regclass;

        

2、对列添加描述:

--如果该列不存在描述则添加,如果存在则修改
COMMENT ON COLUMN 表名.列名 IS '描述信息';

        

3、删除描述

--删除表的描述
COMMENT ON TABLE 表名 IS NULL;
--删除列的描述
COMMENT ON COLUMN 表名.列名 IS NULL;

        

2. 数据类型

数据类型是用来定义列(字段)存储数据的属性的规则。比如某张表的某列是ID,则应该定义为整数类型:

CREATE TABLE t1(id int);  --定义id列为整数类型

定义为整数类型后就只能插入整数

如果向该类型的列插入字符则是违反规则的,无法插入

        

下面介绍几种常用的数据类型方法 

2.1. 字符类型

字符类型用于存储文本数据,比如插入字符 'abc',则需要在创建表时指定该列约束为字符类型。

--创建表,指定某列为字符类型
CREATE TABLE 表名(列名 字符类型);--插入数据必须为字符型,使用引号
INSERT INTO 表名 VALUES('字符');
  • 注意:插入数据时只要使用引号则会被认定为字符,比如 '100',使用引号后100会被认定为字符类型

        

1、固定长度char(默认1,最大10485760)。如果插入的字符没有达到指定长度,则自动使用空格填充。语法如下:

char(n char)  --指定字符长度
char(n byte)  --指定字节长度

案例如下:

CREATE TABLE 表名(列名 char(2));        --指定2个字符
CREATE TABLE 表名(列名 char(2 char));   --指定2个字符
CREATE TABLE 表名(列名 char(2 byte));   --指定2个字节

无法插入超过长度的数据(无法插入)

        

2、可变长字符varchar(默认1,最大10485760)。只存储实际的字符串数据,不会自动填充空格。语法如下:

varchar(n char)  --指定字符长度
varchar(n byte)  --指定字节长度

案例如下:

CREATE TABLE 表名(列名 varchar(2));        --指定2个字符
CREATE TABLE 表名(列名 varchar(2 char));   --指定2个字符
CREATE TABLE 表名(列名 varchar(2 byte));   --指定2个字节

        

char和varchar的区别就是:char自动填充空格,varchar不会自动填充空格

  • char自动填充后,该表的数据会更大。所以在没有特殊情况下尽量不使用char,使用不当会造成大量空间浪费。

        

3、大数据字符text(最大存储1G)。无限变长,存储任何长度的字符串

CREATE TABLE 表名(列名 text);  --不需要指定长度

        

2.2. 数值类型

数值类型是用于存储数字,主要定义数字在数据库中的表示形式和可存储的范围

--创建表,指定某列为数值类型
CREATE TABLE 表名(列名 数值类型);--插入数据必须为数值型
INSERT INTO 表名 VALUES(100);

1、经典整型int或integer(范围:-2147483648 到 2147483647)

CREATE TABLE 表名(列名 int);
CREATE TABLE 表名(列名 integer);

超过范围无法插入

        

2、大范围整数类型bigint(范围:-9223372036854775808 到 9223372036854775807)

CREATE TABLE 表名(列名 bigint);

超过范围无法插入

        

3、定点数类型decimal或numeric,用于存储精确的十进制数值

decimal(p, s)--p:总的位数(包括整数和小数),范围1~1000--s:小数部分的位数,范围0~pCREATE TABLE 表名(列名 decimal(10, 2));  --总10位,小数2位
CREATE TABLE 表名(列名 decimal(10, 5));  --总10位,小数5位

小数点也算1位,超过指定位数无法插入数据

        

4、自增长数值类型serial(范围:1 到 2147483647)

CREATE TABLE 表名(列名 serial);

        

2.3. 日期类型

日期类型是数据库系统提供的用于存储日期和时间信息的数据类型。

--创建表,指定某列为日期类型
CREATE TABLE 表名(列名 日期类型);--插入数据必须为日期类型
INSERT INTO 表名 VALUES('2000-01-01 12:00:00');

1、日期+时间类型date(若不插入时间则默认为00:00:00)

CREATE TABLE 表名(列名 date);

        

2、仅时间类型time(插入日期无效)

CREATE TABLE 表名(列名 time);

        

2.4. 大对象类型

大对象类型可以存储大型非结构化数据,比如文本、图像、视频、空间数据等。

--创建表,指定某列为大对象类型
CREATE TABLE 表名(列名 大对象类型);--插入数据必须为大对象类型
INSERT INTO 表名 VALUES("0101");

1、二进制大对象blob(最大长度为1G)

CREATE TABLE 表名(列名 blob);

        

2、字符大对象clob(最大长度为1G)

CREATE TABLE 表名(列名 clob);

        

2.5. 布尔类型

布尔类型是数据库系统中用于存储逻辑值(真或假)的数据类型,只能存储两种取值:TRUE(真)和FALSE(假)。

--创建表,指定某列为布尔类型
CREATE TABLE 表名(列名 boolean);--插入数据必须为布尔类型
INSERT INTO 表名 VALUES(true);
INSERT INTO 表名 VALUES(false);

        

也可以使用数字代替,0表示假,其他数字表示真

        

2.6. 网络地址类型

网络地址类型是数据库系统中的一种特殊数据类型,用于存储和表示网络地址信息,例如 IP 地址或者 URL 地址。

1、IPv4和IPv6主机及网络类型inet

CREATE TABLE 表名(列名 inet);

        

2、cidr类型可以自动补全地址

CREATE TABLE 表名(列名 cidr);

        

3、以太网硬件地址(MAC)类型macaddr

CREATE TABLE 表名(列名 macaddr);

        

2.7. UUID类型

UUID类型是一种用于存储全局唯一标识符(Universally Unique Identifier,简称UUID)。UUID是一个128位(16字节)长的标识符,在理论上具有全局唯一性,即使在不同的系统和时间生成的UUID也不会重复。

CREATE TABLE 表名(列名 uuid);

UUID总共为32位,分别由5组不同位组成

8位-4位-4位-4位-12位

例如:

417D5E0B-C9B4-4D80-8CFF-8B74A412DFCB

        

3. 列级约束

3.1. 主键约束(primary key)

主键约束(Primary Key Constraint)是数据库表中用于唯一标识每一行数据的一种约束。通过定义主键约束,可以确保表中的数据不会出现重复的主键值,从而保证数据的一致性和准确性。且主键约束还可以帮助数据库系统进行索引优化,加快数据检索速度。

主键约束常见添加方法(直接在列名后面添加):

CREATE TABLE 表名(c1 int primary key,  --数据类型后面添加主键约束c2 int
);

添加主键约束会自动创建一个索引,名为"表名_pkey"

        

如果希望自定义这个索引名,则需要使用关键字 constraint

CREATE TABLE 表名(c1 int constraint p_c1 primary key,  --指定索引名为p_c1c2 int
);

        

创建表时添加主键索引的另一种写法:

CREATE TABLE 表名(c1 int ,c2 int ,CONSTRAINT p_c1 PRIMARY KEY (c1)  --指定c1列为主键索引
);

        

如果创建表时忘记添加主键约束,也可以使用 ALTER TABLE 添加:

CREATE TABLE 表名(c1 int ,c2 int
);--使用alter table添加
ALTER TABLE 表名 ADD CONSTRAINT 索引名 PRIMARY KEY (列名);

        

主键约束有3个特点:

  1. 自动创建索引,加速检索效率
  2. 不允许主键列存在重复值
  3. 不允许主键列存在空值

        

3.2. 唯一约束(unique)

唯一约束(Unique Constraint)是数据库表中用于确保某一列或多列的数值在整个列中是唯一的约束,与主键约束类似,但唯一约束允许列中的数据值可以有一个 NULL 值。

唯一约束常见添加方法(直接在列名后面添加):

CREATE TABLE 表名(c1 int unique,  --数据类型后面添加唯一约束c2 text
);
  • 创建唯一约束后同样会自动创建索引 

唯一的意思就是不允许数据重复,重复则无法添加

        

除了在创建表时添加外,同样也可以创建表后再添加:

--通过alter table添加(添加后自动创建唯一索引)
ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE (列名);--直接向某张表创建唯一索引
CREATE UNIQUE INDEX 索引名 ON 表名(列名);

        

3.3. 非空约束(not null)

非空约束(NOT NULL Constraint)用于确保表中的某列不接受 NULL 值,任何插入或更新操作都必须为该列提供一个非 NULL 的值。

非空约束常见添加方法(直接在列名后面添加):

CREATE TABLE 表名(c1 int not null,  --数据类型后面添加非空约束c2 text
);
  • 添加非空约束后并不会创建索引,只会限制插入的数据不能为空。

        

非空约束同样支持创建表以后再添加:

--向某张表添加检查约束(非空)
ALTER TABLE 表名 ADD CONSTRAINT 非空检查名 CHECK (列名 IS NOT NULL);--修改某张表的列为非空约束
ALTER TABLE 表名 MODIFY 列名 数据类型 NOT NULL;

        

3.4. 外键约束(foreign key)

外键约束(Foreign Key Constraint)是用来维护表与表之间关联关系的约束,它定义了一个表中的一列(或一组列)与另一个表中的主键或唯一键之间的关系,以确保数据的完整性和一致性。

1、在创建表时添加外键:

--创建第1张表(父表)
CREATE TABLE t1(t1_c1 INT PRIMARY KEY,t1_c2 INT,t1_c3 DATE
);--创建第2张表(在需要关联列后面使用关键字REFERENCES指定表名(列名))
CREATE TABLE t2(t2_c1 INT PRIMARY KEY REFERENCES t1(t1_c1),  --创建外键,关联t1表t2_c2 VARCHAR(50)
);

添加外键后,Referenced by表示父表,Foreign-key constraints表示子表

        

除了在创建表时添加,也可以使用alter table的方式添加:

ALTER TABLE 表名
ADD CONSTRAINT 外键名
FOREIGN KEY (当前表列名) REFERENCES 关联主表名(关联主表列名);

        

删除外键同样使用alter的方式:

ALTER TABLE 表名 DROP CONSTRAINT 外键名;

        

创建外键的规则:

  1. 保证2张表相关联的列数据唯一
  2. 保证2张表相关联的列类型一致

外键的特点:

  1. 确保数据完整性: 通过定义父表和子表之间的关系来限制数据的插入和更新,它可以确保子表中的数据始终符合父表中定义的数据关系。
  2. 维护数据一致性: 当在父表中的数据发生变化时,子表中与之相关联的数据也会同步更新或删除,确保数据的一致性。
  3. 简化数据操作: 外键约束可以简化数据的操作流程,避免用户手动管理数据关系,减少人为错误的发生,提升数据管理的效率。
  4. 提高查询性能: 在外键列上创建索引可以提高查询效率,加速数据访问和关联查询的速度,从而提升系统性能。

注意:当删除外键表时,需要先删除子表,再删除父表。

        

3.5. 检查约束(check)

检查约束(Check Constraint)用于限制表中列的取值范围或条件,指定某列必须满足一个布尔值,这也意味着它支持比较运算。创建检查约束的方法如下:

1、创建表时指定检查约束:

CREATE TABLE 表名(c1 int check(c1 < 10)  --检查该列必须小于10
);
  • 大于或等于10则报错

        

同样支持in语法

CREATE TABLE 表名(c1 int check(c1 in (10,20))  --检查该列只能为10或20
);

        

还可以判断日期

--检查该列日期为2024-01-01以前
CREATE TABLE 表名(c1 date check(c1 < '2024-01-01')
);--检查日期为6月份以前
CREATE TABLE 表名(c1 date check(extract(month from c1) < 6)
);--检查日期为15号以前
CREATE TABLE 表名(c1 date check(extract(day from c1) < 6)
);--检查时间为18点以前
CREATE TABLE 表名(c1 date check(extract(hour FROM c1)*60 + extract(minute from c1) < 1080)
);

        

2、在已存在的表上添加检查约束:

ALTER TABLE 表名
ADD CONSTRAINT 约束名 CHECK (检查条件);

        

3、删除约束

ALTER TABLE 表名
DROP CONSTRAINT 约束名;

        

3.6. 默认约束(default)

默认约束(Default Constraint)用于在表的某列中指定默认值。当插入新记录时,如果没有为列提供值,那么将会自动使用默认约束中指定的值。

1、在创建表时添加默认约束:

CREATE TABLE 表名(c1 int,c2 text DEFAULT '小李'  --该列默认插入'小李'
);

添加默认约束后,插入数据时如果该列为空,则自动添加默认数据

        

2、使用alter table对已存在的表添加默认约束:

ALTER TABLE 表名
ADD CONSTRAINT 约束名 DEFAULT 默认值 FOR 列名;

        

4. 总结

    表是数据库中的基本组成单位,用于存储数据。由行和列组成,每行代表一个记录,而每列代表记录中的一个属性。数据库中的表类似于excel中的表格,所以在创建表前需要先了解这张表的作用,在了解作用后再根据数据类型和规则向数据库中创建表。创建表时只需要记住几个关键因素:

  1. 表的作用:通过 "表名" 和 "描述" 来定义;
  2. 每列数据是什么类型,比如ID就定义 "整数类型";
  3. 每列存在哪些规则,比如 "不能为空" 等。

对于新手来说,这些规则有些繁琐。实际上通过这种规范组织的数据,它能够定义数据的结构,每个数据点都安排在表的行和列中,使得数据更加有序和易于管理。并且对于相同类型的数据才能更好的提升检索速度,对于大数据表能够大幅度提升性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/736114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

防御保护作业六

实验拓扑图&#xff1a; 配置过程&#xff1a; FW1 自定义服务ike 创建nat策略&#xff0c;让10.0.2.0/24访问192.168.1.0/24的流量不进行nat转换,并将这条策略置于nat策略最上面&#xff0c;优先匹配 FW3 测试

vmware添加新磁盘

文章目录 前言一、新增磁盘二、初始化磁盘1.查看2.初始化3.挂载 总结 前言 虚拟机磁盘空间很散乱&#xff0c;大部分都在/root和/home下不好操作&#xff0c;故考虑新增磁盘、增加挂载点。 一、新增磁盘 右键打开虚拟机设置 二、初始化磁盘 1.查看 fdisk -l2.初始化 …

基于SpringBoot在线考试系统

基于SpringBootHtmlJavascript css 的在线考试系统 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBootMyBatis 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 一、项目背景 现在大家正处于互联网加的时代&#xff0c;这个时代它就是一个信息内…

Java 学习和实践笔记(33):多态详解

多态&#xff08;polymorphism): 不同的对象&#xff0c;调用同一个方法&#xff0c;对象的行为状态可能完全不同&#xff0c;也就是说&#xff0c;有多种状态&#xff0c;这种情况就叫做多态。 以下的例子里&#xff0c;同样都是人吃饭这个方法&#xff0c;但是不同的人使用吃…

【SpringBoot框架篇】36.整合Tess4J搭建提供图片文字识别的Web服务

文章目录 简介文件下载引入依赖main函数中使用基于Springboot搭建OCR Web服务配置traineddata路径枚举用到的语种类型定义接口响应的json数据格式封装OCR服务引擎编写web提供服务的接口启动服务并且测试html demo扩展 项目配套代码 简介 Tess4J是一个基于Tesseract OCR引擎的J…

网上超市系统|基于Springboot的网上超市系统设计与实现(源码+数据库+文档)

网上超市系统目录 目录 基于Springboot的网上超市系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、商品信息管理 2、用户管理 1、 商品信息 2、购物车 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、…

重要通告 | 公司更名为“浙江实在智能科技有限公司”

更名公告 升级蜕变、砥砺前行 因业务快速发展和战略升级&#xff0c;经相关政府机构批准&#xff0c;自2024年3月1日起&#xff0c;原“杭州实在智能科技有限公司”正式更名为“浙江实在智能科技有限公司”。 更名后&#xff0c;公司统一社会信用代码不变&#xff0c;业务主体…

力扣hot100:152.乘积最大子数组(动态规划)

一个子数组问题&#xff0c;我们要使用线性dp&#xff0c;最好先考虑以i结尾&#xff0c;如果定义dp[i]为前i个数最大子数组乘积值 那么dp[i-1]就无法转移到dp[i]。因此我们先考虑dp[i]定义为以第i个数结尾的最大子数组乘积值。 53. 最大子数组和 最大子数组和是一个动态规划问…

b树(一篇文章带你 理解 )

目录 一、引言 二、B树的基本定义 三、B树的性质与操作 1 查找操作 2 插入操作 3 删除操作 四、B树的应用场景 1 数据库索引 2 文件系统 3 网络路由表 五、哪些数据库系统不使用B树进行索引 1 列式数据库 2 图形数据库 3 内存数据库 4 NoSQL数据库 5 分布式数据…

yolov5体验

无须安装CUDA&#xff0c;只需要有NVIDIA图形驱动即可 1. 安装Miniconda miniconda下载地址 1.1 安装细节 一个对勾都不要选择 1.2 配置环境变量 在环境变量Path中添加如下变量 C:\Server\miniconda C:\Server\miniconda\Scripts C:\Server\miniconda\Library\bin2. …

不同路径 不同路径 II 整数拆分

62.不同路径 力扣题目链接(opens new window) 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。…

mysql题库详解

1、如何创建和删除数据库&#xff1f; 创建数据库 CREATE DATABASE 数据库名; 删除数据库 drop database 数据库名; 2、MyISAM与InnoDB的区别&#xff1f; 1&#xff09;事务&#xff1a;MyISAM 不支持事务 InnoDB 支持 2&#xff09;行锁/表锁&#xff1a;MyISAM 支持表级锁…

冒险和预测

前言 大家好我是jiantaoyab&#xff0c;这是我所总结作为学习的笔记第十篇,在这里分享给大家,还有一些书籍《深入理解计算机系统》&#xff0c;《计算机体系结构&#xff1a;量化研究方法》&#xff0c;这篇文章讲冒险和预测 流水线设计需要解决的三大冒险&#xff0c;分别是结…

CodeReview 规范及实施

优质博文&#xff1a;IT-BLOG-CN 一、为什么需要CodeReview 随着业务压力增大&#xff0c;引发代码质量下降&#xff0c;代码质量的下降导致了开发效率的降低&#xff0c;维护成功高等问题&#xff0c;开发效率下降后又加重了业务压力&#xff0c;最终陷入了死亡三角的内耗之…

VScode的列选

可以用来优化代码排布&#xff0c;让变量整齐成为一排 一、批量复制&#xff1a; 在1处左键单击&#xff0c;然后摁住SHIFTALT键的同时&#xff0c;左键单击2处&#xff0c;即可复制一整块的内容 如果所示 就可以复制了 二、批量输入 在1处左键单击&#xff0c;然后摁住SHI…

基于斑翠鸟优化算法(Pied Kingfisher Optimizer ,PKO)的无人机三维路径规划(MATLAB)

一、无人机路径规划模型介绍 二、算法介绍 斑翠鸟优化算法&#xff08;Pied Kingfisher Optimizer ,PKO&#xff09;&#xff0c;是由Abdelazim Hussien于2024年提出的一种基于群体的新型元启发式算法&#xff0c;它从自然界中观察到的斑翠鸟独特的狩猎行为和共生关系中汲取灵…

Linux系统中的任务迁移技术

任务迁移技术是指将任务从一个处理器核心&#xff08;CPU核心&#xff09;移动到另一个核心的过程&#xff0c;以实现负载均衡、优化系统性能或者其他系统目标的技术。任务迁移技术在多核系统中具有重要的作用&#xff0c;可以通过动态调整任务位置来避免负载不均衡和性能瓶颈&…

【工具】Git的24种常用命令

相关链接 传送门&#xff1a;>>>【工具】Git的介绍与安装<< 1.Git配置邮箱和用户 第一次使用Git软件&#xff0c;需要告诉Git软件你的名称和邮箱&#xff0c;否则无法将文件纳入到版本库中进行版本管理。 原因&#xff1a;多人协作时&#xff0c;不同的用户可…

恒驰上云规划实施解决方案上线华为云官网

华为云与伙伴共同打造联合解决方案 已成为更多企业的数字化转型利器 1月恒驰上云规划实施解决方案 完成上市宣讲并正式上架华为云官网 恒驰上云规划实施解决方案能力全景图&#xff1a;融合厂商云服务能力&#xff0c;一站式高效云迁移 从深入了解企业的本地IT环境、业务特点…

分享一下 iOS 发布/测试证书 申请过程

1.使用 已开通iOS开发者 的账号登陆 Apple Developer Apple Developer 2.点击下图右上角的 Account&#xff08;账户&#xff09; 点击下图中的 certificates&#xff08;证书&#xff09; 然后会挑战至下图所示页面 3.然后先要注册一个 App id 点击 register 就完成了 4.…