开发指南—Sequence—显示用法—创建Sequence

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 本文主要介绍如何创建各种类型的Sequence。

Group Sequence

语法


CREATE [ GROUP ] SEQUENCE <name>
[ START WITH <numeric value> ]

参数说明

参数 说明
START WITH Group Sequence 的起始值,若未指定,则默认起始值为100001。

示例

创建一个Group Sequence:

  • 方法一请在命令行输入如下代码:
mysql> CREATE SEQUENCE seq1;
  • 方法二请在命令行输入如下代码:
mysql> CREATE GROUP SEQUENCE seq1;

单元化 Group Sequence

语法


CREATE [ GROUP ] SEQUENCE <name>

[ START WITH <numeric value> ]
[ UNIT COUNT <numeric value> INDEX <numeric value> ]

参数说明

参数 说明
START WITH 单元化Group Sequence的起始值,默认起始值依赖于单元数量和单元索引;若单元数量和单元索引未被指定或为默认值,则默认起始值为100001。
UNIT COUNT 单元化Group Sequence的单元数量,默认值为1。
INDEX 单元化Group Sequence的单元索引,取值范围为 [ 0, 单元数量 - 1 ],默认值为0。


说明

  • 如果未指定类型关键字,则默认类型为 Group Sequence
  • Group Sequence单元化Group Sequence是非连续的。START WITH参数对于它们仅具有指导意义,Group Sequence单元化Group Sequence不会严格按照该参数作为起始值,但是保证起始值比该参数大。
  • 可以将Group Sequence看作单元化Group Sequence的一个特例,即UNIT COUNT = 1 且 INDEX = 0 时的单元化Group Sequence

示例

创建包含3个单元的全局唯一数字序列(将3个同名的、指定了相同单元数量和不同单元索引的单元化Group Sequence,分别用于3个不同的实例或库,组成一个全局唯一数字序列)。

  1. 实例1/库1:
mysql> CREATE GROUP SEQUENCE seq2 UNIT COUNT 3 INDEX 0;
  1. 实例2/库2:
mysql> CREATE GROUP SEQUENCE seq2 UNIT COUNT 3 INDEX 1;
  1. 实例3/库3:
mysql> CREATE GROUP SEQUENCE seq2 UNIT COUNT 3 INDEX 2;

Time-based Sequence

语法


CREATE TIME SEQUENCE <name>


注意 存储Time-based Sequence值的列必须为BIGINT类型。

示例

创建一个Time-based Sequence:

请在命令行输入如下代码:


7mysql> CREATE TIME SEQUENCE seq3;

Simple Sequence

语法


CREATE SIMPLE SEQUENCE <name>
[ START WITH <numeric value> ]
[ INCREMENT BY <numeric value> ]
MAXVALUE <numeric value>

参数说明

参数 说明
START WITH Simple Sequence的起始值,若未指定,则默认起始值为1。
INCREMENT BY Simple Sequence每次增长时的增量值(或称为间隔值或步长),若未指定,则默认值为1。
MAXVALUE Simple Sequence允许的最大值,若未指定,则默认值为有符号长整型(Signed BIGINT)的最大值,即9223372036854775807。
CYCLE 或 NOCYCLE 两者只能选择其一,代表当Simple Sequence增长到最大值后,是否允许继续循环(即从START WITH重新开始)使用该Simple Sequence。若未指定,则默认值为NOCYCLE。

示例

创建一个Simple Sequence,起始值是1000,步长为2,最大值为99999999999,增长到最大值后不继续循环。

请在命令行输入如下代码:


mysql> CREATE SIMPLE SEQUENCE seq4 START WITH 1000 INCREMENT BY 2 MAXVALUE 99999999999 NOCYCLE;
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
4月前
BigDecimal保留两位小数
本文介绍了BigDecimal保留两位小数的三种方法:`setScale`、`DecimalFormat`和`String.format`。其中,`setScale`可设置保留规则并返回BigDecimal类型值;`DecimalFormat`通过匹配规则返回字符串类型值;`String.format`为字符串自带方法,同样返回字符串类型值。此外,文章还对比了四种保留小数规则(如`00.00`、`#0.00`等),总结出`#0.00`是最适用的规则。附有详细代码示例与控制台打印结果,便于理解与实践。
663 19
|
7月前
|
人工智能 关系型数据库 分布式数据库
3月5日(周三),Data+AI Workshop(深圳站)邀您参加!
本期沙龙将深度解析阿里云自研数据库PolarDB与AI的融合,涵盖应用场景、核心技术及实践案例,助力企业快速拥抱AI,实现业务落地和价值创造。立即免费报名参加,前50位参会者还可获精美伴手礼!
|
前端开发 数据库 对象存储
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持本地图片上传与回显的功能实现(一)
基于RuoYi-Flowable-Plus的若依ruoyi-nbcio支持本地图片上传与回显的功能实现(一)
996 0
|
10月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
SQL 存储 Java
Mybatis之自定义映射resultMap
【1月更文挑战第3天】 一、resultMap处理字段和属性的映射关系 二、多对一映射处理 1、级联方式处理映射关系 2、使用association处理映射关系 3、分步查询 1. 查询员工信息 2. 查询部门信息 三、一对多映射处理 1、collection 2、分步查询 3. 查询部门信息 4. 根据部门id查询部门中的所有员工 四、延迟加载
316 2
Mybatis之自定义映射resultMap
|
人工智能 安全 搜索推荐
技术支持的未来趋势是什么?
【6月更文挑战第22天】技术支持的未来趋势是什么?
258 6
|
前端开发 应用服务中间件 nginx
使用swagger和knife4j生成的接口文档在浏览器中输入地址后报404错误
使用swagger和knife4j生成的接口文档在浏览器中输入地址后报404错误
746 0
|
设计模式 算法
提高代码复用性,减少冗余代码
提高代码复用性,减少冗余代码
265 3