mysql数据库中的子表?

问题描述 投票:3回答:1

我有一家小商店,我想将订单插入数据库。例如:

订单号:1

产品:

  • Apple,价格:2 $,金额:2,总价:4 $
  • Banane,价格:3 $,金额:1,总价:3 $
  • 橙色:价格:2 $,金额:2,总价:2 $

总价:9 $

所以我现在在数据库中制作了一个包含三行的表格(订单号,产品,总价)

但是我如何在数据库的“产品”行中列出所有产品。 mysql中是否有类似子表的内容?

mysql
1个回答
0
投票

如果要在数据库中存储产品订单,则必须创建三个表。

products
  id
  name
  price

orders
  id
  date


orders_products
  id_order
  id_product
  amount

这是一个非常简单的模式,但是它是开始理解这一点的简单解决方案

示例数据

products
  |id | name   | price|
  |---|--------|------|
  | 1 | Apple  | 1000 |
  | 2 | Orange | 2000 |

orders
  | id | date                |
  |----|---------------------|
  | 1  | 2015-18-03 00:21:00 |

orders_products
  | id_order | id_product | amount|
  |----------|------------|-------|
  |    1     |     1      |   1   |
  |    1     |     2      |   2   |

显示所有产品

Select * from products

显示订单1

Select * from orders where id = 1

显示订单1中的所有产品

Select * from orders_products op 
join products p on p.id = op.id_product 
where op.id_order = 1

您如何看待,第三个表存储关系,并且通过联接,您可以按顺序检索有关产品的信息

© www.soinside.com 2019 - 2024. All rights reserved.