如何在表格中制作表格

时间:2018-05-30 14:08:13

标签: mysql

我想在mysql中创建一个表Person,其中包含以下值:NameIDPassword,其他一些信息以及一个名为{{1}的表其值为itemsItemprice,因此每个stock都会有自己的信息和一个对于这个Person唯一的项目表

所以它看起来像这样。

Person

如果可以在MYSQL中完成,我会感兴趣,如果不可能的话,我的情况可能是什么。

2 个答案:

答案 0 :(得分:1)

两个表,带有外键约束。

作为一个简单的例子,人表

CREATE TABLE person 
( id     INT NOT NULL PRIMARY KEY COMMENT 'PK'
, name   VARCHAR(30)
) ENGINE=InnoDB
;

和项目表

CREATE TABLE item 
( id         INT NOT NULL PRIMARY KEY COMMENT 'PK'
, person_id  INT NOT NULL             COMMENT 'FK ref person.id'
, item       VARCHAR(30)
, price      DECIMAL(20,2)
, stock      DECIMAL(18,0)
, CONSTRAINT FK_item_person FOREIGN KEY (person_id)
  REFERENCES person (id) ON UPDATE CASCADE ON DELETE CASCADE
) ENGINE=InnoDB

这实现了一对多的关系。一个人可以拥有零个,一个或多个项目。一个项目只属于一个人。

INSERT INTO person (id, name)  VALUES 
  (1165,'Exc')
, (1066,'Foo')
;

INSERT INTO item (id, person_id, item, price, stock) VALUES 
  ( 42, 1165, 'Sc', 20, 1 )
, ( 43, 1066, 'Ba', 12, 11 )
, ( 44, 1066, 'Co',  3, 2 )
;

答案 1 :(得分:0)

CREATE TABLE Person (
    ID int,
    Name varchar(100),
    Pass varchar(100),
    PRIMARY KEY ID);

CREATE TABLE Item(
    ID int,
    Item varchar(100),
    Price varchar(100),
    Stock varchar(100),
    FOREIGN KEY (ID) REFERENCES Person(ID)
);

那些创建2个不同的表。 这会选择所有并加入它们。

 Select * from Persons p
    inner join Item i on p.ID = i.ID