开发学院

您的位置:首页>教程>正文

教程正文

MariaDB 序列

MariaDB 序列

  在10.0.3,版中,MariaDB引入了一个名为sequence的存储引擎。它的ad hoc为操作生成整数序列。该序列包含降序或升序的正整数,并使用起始值、结束值和增量值。

  它不允许在多查询中使用,只允许在原始查询中使用,因为它具有虚拟(未写入磁盘)特性。但是,序列表可以通过ALTER命令转换为标准表。如果已转换的表被删除,则序列表仍然存在。序列也不能产生负数或以最小/最大值旋转。

安装Sequence引擎

  使用序列需要安装sequence引擎,MariaDB将它作为插件而不是二进制分发。使用以下命令安装它

INSTALL SONAME "ha_sequence";

  安装后,验证它:

SHOW ENGINES\G

  请记住,在引擎安装之后,您不能创建一个使用sequence语法的标准表,但是您可以创建一个使用sequence语法名称的临时表。

创建序列

  创建序列有两种方法

  创建一个表,并使用AUTO_INCREMENT属性将列定义为自动增量。

  使用现有数据库并使用SELECT查询生成序列。查询使用seq_ [FROM] _to_[TO]或seq_[FROM]_to_[TO]_step_STEP语法。

  最佳实践更推荐使用第二种方法。查看下面给出的序列创建示例:

SELECT * FROM seq_77_to_99;

  序列有许多用途:

  查找列中缺少的值,以防止操作中的相关问题:

SELECT myseq.seq FROM seq_22_to_28 myseq LEFT JOIN table1 t ON myseq.seq
   = x.y WHERE x.y IS NULL;

  构造一个值的组合:

SELECT x1.seq, x2.seq FROM seq_5_to_9 x1 JOIN seq_5_to_9 x2 ORDER BY 5, 6;

  找到一个数的倍数:

SELECT seq FROM seq_3_to_100_step_4;

  构建一个日期序列,用于预订系统等应用中。

  构建时间序列。