数据库MYSQL学习总结30—无限级分类数据表的设计及实现

版权声明:. https://blog.csdn.net/WildestDeram/article/details/89470434

 

无限级分类数据表的设计及实现

-- 创建cate表
CREATE TABLE cate(
    id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT KEY COMMENT '编号',
    cateName VARCHAR(100) NOT NULL UNIQUE COMMENT '分类名称',
    pId SMALLINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '父id'
);
-- 插入顶级分类
INSERT cate(cateName,pId) VALUES('服装',0),
('数码',0),
('玩具',0);

-- 插入服装的子分类
    INSERT cate(cateName,pId) VALUES('男装',1),
('女装',1),
('内衣',1);
-- 插入数码的子分类
INSERT cate(id,cateName,pId) VALUES(10,'电视',2),
(11,'冰箱',2),
(12,'洗衣机',2);
-- 插入玩具的子分类
INSERT cate(cateName,pId) VALUES('爱马仕',3),
('LV',3),
('GUCCI',3);

-- 插入男装的子分类
INSERT cate(cateName,pId) VALUES('夹克',4),
('衬衫',4),
('裤子',4);
-- 插入电视的子分类
INSERT cate(cateName,pId) VALUES('液晶电视',10),
('等离子电视',10),
('背投电视',10 );

需求1:查询所有的分类信息,并且得到其父分类

SELECT s.id,s.cateName AS name,p.cateName AS fl
FROM cate AS s
LEFT JOIN cate AS p
ON s.pId=p.id;

 逻辑实现:例如男装对应pId是1,另一张表中id=1的是name=服装。这两张表连接的条件是pId

猜你喜欢

转载自blog.csdn.net/WildestDeram/article/details/89470434
今日推荐