MySQL 技巧(⼆)——⽆限级分类表设计
⽆限级分类表的设计(掌握'⾃⾝连接')
类似图书这种,会有很多种分类,⽽且在现实⽣活中这种分类会⽆限的往下分,所以不可能每有⼀个分类就创建⼀个分类表。应该使⽤下⾯这种语句
然后再模拟图书类的分类来个⼩demo
 从下图中很容易可以看到,'电⼦书'为顶级分类,所以parent_id为0,以此类推....
这时候我们需要查询具体分类以及对应⽗类,我们就需要假想有两张相同的表,⼀张是⽗表(parent),⼀张是⼦表(son),⾃⼰连接⾃⼰查询,⼦表的parent_id = ⽗表的type_id,⼦表中的type_name就是⼦类分类,⽗表中的type_name就是⽗类分类名称
DROP  TABLE  IF  EXISTS  tdb_goods_types;
CREATE  TABLE  tdb_goods_types(
type_id            SMALLINT  PRIMARY  KEY  AUTO_INCREMENT COMMENT '分类ID',
mysql语句分类
type_name        VARCHAR (50)                COMMENT '分类名称',
parent_id          SMALLINT    NOT  NULL  DEFAULT  0    COMMENT '⽗类ID'
数据库新增一万条数据);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('电⼦书',DEFAULT );
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('⽂学',1);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('影视原著',2);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('中外名著',2);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('漫画杂志',2);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('⽂学',2);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('⼩说',2);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('传记',2);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('经管',1);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('⾦融投资',9);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('市场营销',9);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('管理学',9);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('职场进阶',9);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('科学新知',1);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('⼈⼯智能',14);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('电⼦商务',14);
INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('⼤数据',14);
自学abap开发一年INSERT  INTO  tdb_goods_types(type_name,parent_id) VALUES ('科普',14);
也可以⽤另⼀种思路,查看⽗类,以及对应的⼦类
SELECT
modify file失败
FROM
tdb_goods_types AS  s
LEFT  JOIN  tdb_goods_types AS  p ON  s.parent_id = p.type_id;SELECT
FROM
tdb_goods_types AS  p
LEFT  JOIN  tdb_goods_types AS  s ON  s.parent_id = p.type_id;
改进:获取的是⼦类的数量
SELECT
pe_name) AS⼦类数⽬
FROM
tdb_goods_types AS p
LEFT JOIN tdb_goods_types AS s ON s.parent_id = p.type_id GROUP BY
ORDER BYextend函数 python
putchar的用法举例

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。