MARIADB
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Dãy số (Sequences) trong MariaDB

Từ phiên bản MariaDB 10.0.3, một engine mới được giới thiệu với tên gọi sequence. Nó cho phép tạo ra các dãy số nguyên tự động theo nhu cầu, hoạt động một lần rồi kết thúc. Các dãy số này có thể tăng hoặc giảm dần và được xác định bởi các giá trị bắt đầu, kết thúc và bước nhảy.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Tuy nhiên, dãy số sequence chỉ có thể sử dụng trong truy vấn ban đầu, không được lưu vào ổ đĩa mà chỉ tồn tại dưới dạng ảo. Bảng sequence có thể được chuyển đổi thành bảng tiêu chuẩn qua lệnh ALTER. Khi xóa bảng chuyển đổi, bảng sequence ban đầu vẫn tồn tại. Sequence không thể tạo ra các số âm hoặc tự động quay vòng khi đạt giá trị tối thiểu/tối đa.

Cài đặt Engine Sequence trong MariaDB

Để sử dụng sequence, bạn cần cài đặt plugin sequence engine mà MariaDB cung cấp. Plugin này không được tích hợp sẵn trong hệ thống mà cần được kích hoạt qua lệnh:

INSTALL SONAME "ha_sequence";

Sau khi cài đặt, hãy kiểm tra bằng lệnh:

Bài viết này được đăng tại [free tuts .net]

SHOW ENGINES\G

Lưu ý:

  • Sau khi cài đặt engine sequence, bạn không thể tạo bảng tiêu chuẩn có tên theo cú pháp sequence, nhưng vẫn có thể tạo bảng tạm (temporary table).

Tạo Sequence

Có hai cách để tạo sequence trong MariaDB:

  • Tạo bảng và sử dụng thuộc tính AUTO_INCREMENT để định nghĩa cột tăng tự động.
  • Sử dụng câu lệnh truy vấn sequence để tạo dãy số. Phương pháp này thường được ưu tiên hơn vì tính linh hoạt cao.

Cú pháp truy vấn sequence sử dụng định dạng:

seq_[FROM]_to_[TO] hoặc seq_[FROM]_to_[TO]_step_STEP.

Ví dụ: Tạo một dãy số từ 77 đến 99:

SELECT * FROM seq_77_to_99;

Ứng dụng của Sequence trong MariaDB

Tìm giá trị bị thiếu trong cột để tránh các lỗi liên quan:

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

Xây dựng tổ hợp giá trị:

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

Tìm bội số của một số:

SELECT seq 
FROM seq_3_to_100_step_4;

Xây dựng dãy ngày tháng để ứng dụng trong các hệ thống như đặt lịch.

Xây dựng dãy thời gian để phục vụ các bài toán liên quan.

Kết bài

Sequence trong MariaDB là một công cụ hữu ích, linh hoạt, và mạnh mẽ để hỗ trợ các truy vấn phức tạp hoặc yêu cầu tạo dãy số liên tiếp. Việc sử dụng sequence giúp tối ưu hóa quy trình quản lý dữ liệu và triển khai các giải pháp sáng tạo trong các ứng dụng thực tế. Tuy nhiên, bạn cần chú ý các hạn chế như dãy không được lưu trữ vĩnh viễn và không hỗ trợ số âm để sử dụng hiệu quả hơn.

Cùng chuyên mục:

Cú pháp PHP trong MariaDB

Cú pháp PHP trong MariaDB

Quản trị cơ bản trong MariaDB

Quản trị cơ bản trong MariaDB

Hướng dẫn cài đặt MariaDB

Hướng dẫn cài đặt MariaDB

Các hàm hữu ích trong MariaDB

Các hàm hữu ích trong MariaDB

Phương pháp tải dữ liệu sao lưu trong MariaDB

Phương pháp tải dữ liệu sao lưu trong MariaDB

Phương pháp sao lưu trong MariaDB

Phương pháp sao lưu trong MariaDB

Bảo vệ chống SQL Injection trong MariaDB

Bảo vệ chống SQL Injection trong MariaDB

Quản lý dữ liệu trùng lặp trong MariaDB

Quản lý dữ liệu trùng lặp trong MariaDB

Tìm hiểu Table Cloning trong MariaDB

Tìm hiểu Table Cloning trong MariaDB

Bảng tạm thời (Temporary Tables) trong MariaDB

Bảng tạm thời (Temporary Tables) trong MariaDB

Tìm hiểu Indexes và Statistics Tablestrong MariaDB

Tìm hiểu Indexes và Statistics Tablestrong MariaDB

Lệnh ALTER trong MariaDB

Lệnh ALTER trong MariaDB

Giao dịch (Transactions) trong MariaDB

Giao dịch (Transactions) trong MariaDB

Biểu thức chính quy (Regular Expression) trong MariaDB

Biểu thức chính quy (Regular Expression) trong MariaDB

Giá trị NULL trong MariaDB

Giá trị NULL trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề LIKE trong MariaDB

Mệnh đề LIKE trong MariaDB

Tìm hiểu lệnh DELETE trong MariaDB

Tìm hiểu lệnh DELETE trong MariaDB

Tìm hiểu câu lệnh UPDATE trong MariaDB

Tìm hiểu câu lệnh UPDATE trong MariaDB

Top