mysql树状crud

更新时间:02-08 教程 由 冰魄 分享

MySQL树状结构是一种常见的数据结构,它可以表示多层级的数据。在CRUD操作中,我们可以使用以下方法实现树状结构的操作。

1. 创建一张树状表

CREATE TABLE tree (id INT PRIMARY KEY,name VARCHAR(50),parent_id INT)

2. 插入数据

INSERT INTO tree (id, name, parent_id) VALUES(1, 'root', NULL),(2, 'child node 1', 1),(3, 'child node 2', 1),(4, 'grand child node 1', 2),(5, 'grand child node 2', 2),(6, 'grand grand child node 1', 4),(7, 'grand grand grand child node 1', 6),(8, 'grand grand grand child node 2', 6);

3. 查询整个树状结构

SELECT t1.name AS lev1,t2.name as lev2,t3.name as lev3,t4.name as lev4FROM tree t1LEFT JOIN tree t2 ON t2.parent_id = t1.idLEFT JOIN tree t3 ON t3.parent_id = t2.idLEFT JOIN tree t4 ON t4.parent_id = t3.idWHERE t1.name = 'root';

4. 查询指定节点的所有子孙节点

SELECT node.*, (COUNT(parent.name) - 1) AS depthFROM tree AS node,tree AS parentWHERE node.lft BETWEEN parent.lft AND parent.rgtAND parent.name = 'root'GROUP BY node.idORDER BY node.lft;

5. 添加节点

INSERT INTO tree (name, parent_id)VALUES ('new node', 2);

6. 修改节点

UPDATE treeSET name = 'new name'WHERE id = 2;

7. 删除节点

DELETE FROM treeWHERE id = 2;

使用以上方法,我们可以轻松地实现MySQL树状结构的CRUD操作。

声明:关于《mysql树状crud》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2260414.html