色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

MySQL一對一映射

阮建安2年前9瀏覽0評論

MySQL一對一映射是指兩個表之間的關系,其中一個表的每一行只對應另一個表中的一行,而那行也只會對應當前表的一行。這種關系下,其實存在一種主外鍵的關系,但是外鍵可以為空。

CREATE TABLE `person` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`id_number` varchar(18) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
CREATE TABLE `person_detail` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`person_id` int(11) DEFAULT NULL,
`phone_number` varchar(11) DEFAULT NULL,
`address` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `person_fk` (`person_id`),
CONSTRAINT `person_fk` FOREIGN KEY (`person_id`) REFERENCES `person` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;

上面的代碼中,我們創建了兩個表,一個是人員信息的表,另一個是人員的詳細信息表。在person_detail表中,person_id作為一個外鍵,引用了person表的id字段。這個外鍵可以為空,但是如果person_id非空,那么它就必須引用person表中已有的id值。

在查詢時,我們可以通過JOIN關鍵字將兩個表連接起來:

SELECT `person`.`name`, `person_detail`.`phone_number`, `person_detail`.`address` FROM `person` LEFT JOIN `person_detail` ON `person`.`id` = `person_detail`.`person_id`;

這樣可以得到每個人的詳細信息,如果沒有詳細信息,則對應字段為NULL。