W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
在版本10.0.3中,MariaDB引入了一種稱為序列的存儲引擎。 其ad hoc為操作生成整數(shù)序列,然后終止。 該序列包含正整數(shù),以降序或升序排列,并使用起始,結(jié)束和遞增值。
它不允許在多個查詢中使用,只能在其原始查詢因為其虛擬(不寫入磁盤)性質(zhì)。 但是,序列表可以通過ALTER命令轉(zhuǎn)換為標(biāo)準(zhǔn)表。 如果刪除轉(zhuǎn)換的表,序列表仍然存在。 序列也不能產(chǎn)生負(fù)數(shù)或以最小/最大值旋轉(zhuǎn)。
使用序列需要安裝序列引擎,MariaDB作為插件而不是二進制分發(fā)。 使用以下命令安裝它 -
INSTALL SONAME "ha_sequence";
安裝后,驗證它 -
SHOW ENGINESG
請記住,在引擎安裝后,您不能創(chuàng)建具有使用序列語法的名稱的標(biāo)準(zhǔn)表,但可以創(chuàng)建具有序列語法名稱的臨時表。
有兩種方法創(chuàng)建序列 -
創(chuàng)建表并使用AUTO_INCREMENT屬性將列定義為自動遞增。
使用現(xiàn)有數(shù)據(jù)庫并使用序列SELECT查詢來生成序列。 查詢使用seq_ [FROM] _to_ [TO]或seq_ [FROM] _to_ [TO] _step_STEP語法。
最佳實踐更喜歡使用第二種方法。 查看下面給出的序列創(chuàng)建的示例 -
SELECT * FROM seq_77_to_99;
序列有很多用途 -
在列中找到缺少的值,以防止操作中的相關(guān)問題 -
SELECT myseq.seq FROM seq_22_to_28 myseq LEFT JOIN table1 t ON myseq.seq = x.y WHERE x.y IS NULL;
構(gòu)造值的組合 -
SELECT x1.seq, x2.seq FROM seq_5_to_9 x1 JOIN seq_5_to_9 x2 ORDER BY 5, 6;
查找數(shù)字的倍數(shù) -
SELECT seq FROM seq_3_to_100_step_4;
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: