开发指南—Sequence—隐式用法—查看表信息及相关Sequence类型

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 本文主要介绍如何对使用Sequence类型作为自增列的表信息以及相关Sequence类型进行查看。

SHOW CREATE TABLE

当表为拆分表或者广播表时,显示自增列Sequence的类型。

查看已创建的表语法如下:


SHOW CREATE TABLE <name>


说明

  • SHOW CREATE TABLE仅显示相关Sequence的类型,并不显示Sequence详细信息,如需查看,请使用SHOW SEQUENCES命令。
  • 关联了单元化Group Sequence的表并不显示单元数量和单元索引,因此不能将SHOW CREATE TABLE显示的DDL直接用于创建具备同样单元化Group Sequence能力的表。
  • 如果需要创建具备同样单元化能力的表,必须使用SHOW SEQUENCES查看单元数量和单元索引,然后参照CREATE TABLE的语法修改通过SHOW CREATE TABLE获取的建表DDL。

示例

示例一:建表时指定AUTO_INCREMENT,但没有指定Sequence类型关键字,则默认使用Group Sequence

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


mysql> SHOW CREATE TABLE tab1;

返回结果如下:


+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| Table | Create Table |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tab1 | CREATE TABLE `tab1` (
`col1` bigint(20) NOT NULL AUTO_INCREMENT BY GROUP,
`col2` varchar(16) DEFAULT NULL,
PRIMARY KEY (`col1`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 dbpartition by hash(`col1`) |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.02 sec)

示例二:建表时为AUTO_INCREMENT指定了单元数量和单元索引,使用单元化 Group Sequence,但SHOW CREATE TABLE时并不显示单元数量和单元索引,不能将此DDL用于创建具备同样单元化 Group Sequence能力的表。

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


mysql> SHOW CREATE TABLE tab2;

返回结果如下:


+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tab2 | CREATE TABLE `tab2` (
`col1` bigint(20) NOT NULL AUTO_INCREMENT BY GROUP,
`col2` varchar(16) DEFAULT NULL,
PRIMARY KEY (`col1`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 dbpartition by hash(`col1`) |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

示例三:建表时为AUTO_INCREMENT指定了BY TIME,即Time-based Sequence类型。

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


mysql> SHOW CREATE TABLE tab3;

返回结果如下:


+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tab3 | CREATE TABLE `tab3` (
`col1` bigint(20) NOT NULL AUTO_INCREMENT BY TIME,
`col2` varchar(16) DEFAULT NULL,
PRIMARY KEY (`col1`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 dbpartition by hash(`col1`) |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

示例四:建表时为AUTO_INCREMENT指定了BY SIMPLE,即Simple Sequence类型。

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


mysql> SHOW CREATE TABLE tab4;

返回结果如下:


+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| tab3 | CREATE TABLE `tab4` (
`col1` bigint(20) NOT NULL AUTO_INCREMENT BY TIME,
`col2` varchar(16) DEFAULT NULL,
PRIMARY KEY (`col1`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 dbpartition by hash(`col1`) |
+-------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

SHOW SEQUENCES

建表后相关的Sequence名称和详细信息,可通过SHOW SEQUENCES查看。

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


mysql> SHOW SEQUENCES;

返回结果如下:


+---------------+--------+------------+------------+------------+--------------+------------+---------------------+-------+--------+
| NAME | VALUE | UNIT_COUNT | UNIT_INDEX | INNER_STEP | INCREMENT_BY | START_WITH | MAX_VALUE | CYCLE | TYPE |
+---------------+--------+------------+------------+------------+--------------+------------+---------------------+-------+--------+
| seq1 | 100000 | 1 | 0 | 100000 | N/A | N/A | N/A | N/A | GROUP |
| seq2 | 400000 | 3 | 1 | 100000 | N/A | N/A | N/A | N/A | GROUP |
| seq3 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | TIME |
| seq4 | 1006 | N/A | N/A | N/A | 2 | 1000 | 99999999999 | N | SIMPLE |
| AUTO_SEQ_tab1 | 100000 | 1 | 0 | 100000 | N/A | N/A | N/A | N/A | GROUP |
| AUTO_SEQ_tab2 | 400000 | 3 | 1 | 100000 | N/A | N/A | N/A | N/A | GROUP |
| AUTO_SEQ_tab3 | N/A | N/A | N/A | N/A | N/A | N/A | N/A | N/A | TIME |
| AUTO_SEQ_tab4 | 2 | N/A | N/A | N/A | 1 | 1 | 9223372036854775807 | N | SIMPLE |
+---------------+--------+------------+------------+------------+--------------+------------+---------------------+-------+--------+
8 rows in set (0.01 sec)
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
无影云电脑使用感受
简单谈谈无影云电脑使用的感受
783 0
无影云电脑使用感受
|
6月前
|
并行计算 Linux
export OMP_NUM_THREADS=(nproc--all)
export OMP_NUM_THREADS=(nproc--all) 是一条 Linux 命令,用于设置 OpenMP(一个用于并行编程的应用程序接口)使用的线程数。
235 7
|
开发框架 JavaScript 前端开发
详解如何在vue项目中引入饿了么elementUI组件
详解如何在vue项目中引入饿了么elementUI组件
165 0
|
SQL 存储 前端开发
显示购物车列表【项目 商城】
显示购物车列表【项目 商城】
117 0
开发指南—Sequence—显示用法—查询与获取Sequence
本文主要介绍如何查询Sequence类型以及获取Sequence值。
205 0
开发指南—Sequence—显示用法—修改Sequence
本文主要介绍如何对Sequence的各种类型进行修改。
151 0
|
SQL 关系型数据库 索引
开发指南—Sequence—隐式用法—查看表信息及相关Sequence类型
本文主要介绍如何对使用Sequence类型作为自增列的表信息以及相关Sequence类型进行查看。
100 0
|
人工智能 大数据 云栖大会
投票赢卫衣,为爱发电VS绩效晋升你选哪一个?
作为一名开发者,还记得你参与开源项目的初心吗?支撑你参与开源的核心动力是“为爱发电”主动为之,还是被绩效、晋升捆绑束缚的无奈之举?你们的声音需要被聆听!欢迎大家扫码进行投票,投票结果将会在云栖大会开发者舞台——「开源人说」大数据&AI专场进行公布,现场还有更多开源话题的深入探讨!
1801 4
投票赢卫衣,为爱发电VS绩效晋升你选哪一个?
|
人工智能 运维 前端开发
参与即有奖|前端领域主题征文开始啦!
阿里云开发者社区推出“前端技术征文挑战赛”。现面向社区所有开发者征集前端领域技术文章,可以是语言框架的使用技巧,也可以是技术领域的趋势探讨,只要你有干货,那就分享出来!在活动规定时间内前往阿里云开发者社区发文,就有机会获得空气炸锅、社区积分等丰富奖励,参与即可获奖,快来参加吧!
1832 22
参与即有奖|前端领域主题征文开始啦!
解决办法:nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-xenial)
解决办法:nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-xenial)
223 0
下一篇
无影云桌面