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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 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
相关文章
|
4月前
|
Python Windows
一步步教你将包含其他文件的 Python 脚本等打包成 EXE
最近我编写了一个Python脚本,该脚本需要依赖两个同级目录下的文件才能正常运行。然而,当我将脚本打包成EXE程序后,必须将这两个文件放在EXE文件的同级目录下才能正常执行。为了简化部署,我希望能将这两个文件一起打包到EXE文件中,这时候该怎么办呢?
开发指南—Sequence—显示用法—查询与获取Sequence
本文主要介绍如何查询Sequence类型以及获取Sequence值。
201 0
|
SQL 关系型数据库 索引
开发指南—Sequence—隐式用法—查看表信息及相关Sequence类型
本文主要介绍如何对使用Sequence类型作为自增列的表信息以及相关Sequence类型进行查看。
开发指南—Sequence—显示用法—修改Sequence
本文主要介绍如何对Sequence的各种类型进行修改。
|
存储 编译器 Linux
【C/C++】庖丁解牛 操作符握手之旅(下)
【C/C++】庖丁解牛 操作符握手之旅(下)
86 0
|
存储 SQL 运维
POLARDB特点
POLARDB特点
160 0
|
3天前
|
SQL 人工智能 安全
【灵码助力安全1】——利用通义灵码辅助快速代码审计的最佳实践
本文介绍了作者在数据安全比赛中遇到的一个开源框架的代码审计过程。作者使用了多种工具,特别是“通义灵码”,帮助发现了多个高危漏洞,包括路径遍历、文件上传、目录删除、SQL注入和XSS漏洞。文章详细描述了如何利用这些工具进行漏洞定位和验证,并分享了使用“通义灵码”的心得和体验。最后,作者总结了AI在代码审计中的优势和不足,并展望了未来的发展方向。