-- 验证数据表的一对一关系 建立新表-丈夫
CREATE TABLE huansband( -- 创建表
hid INT PRIMARY KEY AUTO_INCREMENT, -- 设置主键以及主键值增长
ename VARCHAR(10)
);
INSERT INTO huansband(hid,ename) VALUES(NULL,'张三');
INSERT INTO huansband(hid,ename) VALUES(NULL,'李四');
SELECT * FROM huansband;
CREATE TABLE wife( -- 创建表
wid INT PRIMARY KEY AUTO_INCREMENT, -- 设置主键以及主键值增长
wname VARCHAR(10),
CONSTRAINT fk_wife_huansband FOREIGN KEY(wid) REFERENCES huansband(hid) -- 此时wid既是主键又是外键
);
INSERT INTO wife(wid,wname) VALUES(1,'杨贵妃');
INSERT INTO wife(wid,wname) VALUES(2,'盼盼');
-- INSERT INTO wife(wid,wname) VALUES(1,'盼盼'); 错误,此时wid不能重复
SELECT * FROM wife;
-- 从表的主键即为外键
-- 验证数据表的一对多关系 建立新表-丈夫
DROP TABLE huansband;
DROP TABLE wife;
CREATE TABLE huansband( -- 创建表
hid INT PRIMARY KEY AUTO_INCREMENT, -- 设置主键以及主键值增长
ename VARCHAR(10)
);
INSERT INTO huansband(hid,ename) VALUES(NULL,'张三');
INSERT INTO huansband(hid,ename) VALUES(NULL,'李四');
SELECT * FROM huansband;
CREATE TABLE wife( -- 创建表
wid INT PRIMARY KEY AUTO_INCREMENT, -- 设置主键以及主键值增长
wname VARCHAR(10),
hid INT,
CONSTRAINT fk_wife_huansband FOREIGN KEY(hid) REFERENCES huansband(hid) -- 此时wid既是主键又是外键
);
INSERT INTO wife(wid,wname) VALUES(NULL,'杨贵妃');
INSERT INTO wife(wid,wname,hid) VALUES(2,'盼盼',1);
INSERT INTO wife(wid,wname,hid) VALUES(3,'x盼',1);
SELECT * FROM wife;
-- 验证数据表的多对多关系 建立新表-丈夫
DROP TABLE huansband;
DROP TABLE wife;
CREATE TABLE huansband( -- 创建表
hid INT PRIMARY KEY AUTO_INCREMENT, -- 设置主键以及主键值增长
ename VARCHAR(10)
);
CREATE TABLE wife( -- 创建表
wid INT PRIMARY KEY AUTO_INCREMENT, -- 设置主键以及主键值增长
wname VARCHAR(10),
hid INT,
CONSTRAINT fk_wife_huansband FOREIGN KEY(hid) REFERENCES huansband(hid) -- 此时wid既是主键又是外键
);
CREATE TABLE hua_wi( -- 关系表
hid INT,
wid INT,
CONSTRAINT fk_wife FOREIGN KEY(wid) REFERENCES wife(wid),
CONSTRAINT fk_huansband FOREIGN KEY(hid) REFERENCES huansband(hid)
);
INSERT INTO huansband(hid,ename) VALUES(NULL,'张三');
INSERT INTO huansband(hid,ename) VALUES(NULL,'李四');
SELECT * FROM huansband;
INSERT INTO wife(wid,wname) VALUES(NULL,'杨贵妃');
INSERT INTO wife(wid,wname,hid) VALUES(2,'盼盼',1);
INSERT INTO wife(wid,wname,hid) VALUES(3,'x盼',1);
SELECT * FROM wife;
INSERT INTO hua_wi VALUES(1,1);
INSERT INTO hua_wi VALUES(2,1);
INSERT INTO hua_wi VALUES(2,2);
INSERT INTO hua_wi VALUES(2,2);
SELECT * FROM hua_wi;