mysql数据库中的子表?

时间:2015-03-17 18:14:09

标签: mysql

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

订单号:1

产品:

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

总价:9美元

所以我现在在我的数据库中创建了一个包含3行的表(订单号,产品,总价)

但是如何在我的行中列出我的所有产品"产品"在我的数据库中。在mysql中有类似子表吗?

1 个答案:

答案 0 :(得分: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

订单

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

如何看待,第三个表商店关系,以及通过加入,您可以按顺序检索有关产品的信息