MySQL一个供应商可以供应多个零件,而一个零件可以由多个供应商供应怎么写代码
时间: 2024-10-10 13:02:37 浏览: 28
在MySQL中,如果你需要创建这样的关系,通常会使用一对多的关系模型,即一个供应商表(suppliers)对应多个零件表(parts),每个零件表又有一个外键关联到供应商表。这里是一个简单的SQL建表语句示例:
```sql
CREATE TABLE suppliers (
supplier_id INT PRIMARY KEY,
supplier_name VARCHAR(100),
contact_info VARCHAR(255)
);
CREATE TABLE parts (
part_id INT PRIMARY KEY,
part_name VARCHAR(100),
supplier_id INT,
FOREIGN KEY (supplier_id) REFERENCES suppliers(supplier_id)
);
```
在这个例子中,`suppliers`表存储供应商的信息,`parts`表存储零件信息,并通过`supplier_id`字段关联两个表。每个`part_id`只在一个`suppliers`记录中找到对应的`supplier_id`。
如果你想查询某个供应商供应的所有零件,或者某个零件的所有供应商,你可以编写如下的SQL查询:
```sql
-- 查询供应商A供应的所有零件
SELECT * FROM parts WHERE supplier_id = (SELECT supplier_id FROM suppliers WHERE supplier_name = '供应商A');
-- 查询零件B的供应商列表
SELECT DISTINCT suppliers.* FROM parts JOIN suppliers ON parts.supplier_id = suppliers.supplier_id WHERE parts.part_id = '零件B';
```
阅读全文