欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql使用函數查詢樹形數據

黃文隆1年前8瀏覽0評論

MySQL是一種廣泛應用的關系數據庫管理系統(RDBMS),很多Web應用都需要處理樹形數據,例如菜單,分類等等。在MySQL中使用函數查詢樹形數據是一種非常有效的方法。

MySQL函數可以通過遞歸查詢樹形數據,以下是一些常用的MySQL函數。

DELIMITER $$
CREATE FUNCTION `getTree`(parentId INT, level INT) RETURNS varchar(10000)
BEGIN
DECLARE result VARCHAR(10000);
DECLARE item VARCHAR(100);
DECLARE itemLevel INT;
SET result = '';
SET @sql = CONCAT("
SELECT CONCAT(REPEAT('─', level - 1), name) AS name, id, level
FROM menu
WHERE parentId = ", parentId, "
ORDER BY sort ASC
");
PREPARE stmt1 FROM @sql;
EXECUTE stmt1;
SET cur = CURSOR FOR stmt1;
OPEN cur;
readLoop: LOOP
FETCH cur INTO item, itemId, itemLevel;
IF done THEN
LEAVE readLoop;
END IF;
SET result = CONCAT(result, item, "\n");
SET result = CONCAT(result, getTree(itemId, itemLevel + 1));
END LOOP;
CLOSE cur;
RETURN result;
END$$
DELIMITER ;

以上的函數可以遞歸查詢樹形結構,并以較好的形式輸出,例如:

menu1 1
─menu1-1 2
│  ├─menu1-1-1 3
│  │  └─menu1-1-1-1 4
│  └─menu1-1-2 5
└─menu1-2 6
menu2 7
└─menu2-1 8

以上是關于MySQL使用函數查詢樹形數據的一些介紹,希望對大家有用。