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

mysql如何查詢樹形菜單單表

謝彥文2年前11瀏覽0評論

MySQL是一個常用的關系型數據庫管理系統,可用于存儲和管理數據。在web應用程序中,常常需要查詢樹形結構的數據,如菜單、目錄等。本文將介紹如何使用MySQL查詢樹形菜單單表。

首先,我們需要了解樹形結構的存儲方式。在單表中,我們可以使用"父子關系"模型來存儲,即在每個記錄中增加一個"上級ID"字段,來記錄該記錄的父級記錄的ID。

CREATE TABLE menu (
id int(11) NOT NULL,
name varchar(255) NOT NULL,
parent_id int(11) DEFAULT NULL,
PRIMARY KEY (id)
);

查詢根節點,即沒有父級的記錄:

SELECT * FROM menu WHERE parent_id IS NULL;

查詢指定節點的子節點:

SELECT * FROM menu WHERE parent_id = 節點ID;

查詢指定節點的所有子孫節點,可以使用遞歸查詢。

WITH RECURSIVE cte AS (
SELECT * FROM menu WHERE id = 節點ID
UNION ALL
SELECT m.* FROM cte c, menu m
WHERE m.parent_id = c.id
)
SELECT * FROM cte;

以上是MySQL查詢樹形菜單單表的基本方法,可以根據實際情況進行調整和拓展。