欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql 主鍵外鍵怎么創(chuàng)建索引

MySQL是最常用的數(shù)據(jù)庫之一,如何創(chuàng)建主鍵外鍵索引是每個(gè)數(shù)據(jù)庫開發(fā)人員必須掌握的技能之一。

主鍵是一種特殊的約束,其作用是唯一標(biāo)識(shí)表中的每一行數(shù)據(jù)。主鍵可以使用一個(gè)或多個(gè)列定義,每個(gè)表只能擁有一個(gè)主鍵。當(dāng)我們定義了一個(gè)主鍵后,MySQL會(huì)自動(dòng)為該主鍵創(chuàng)建一個(gè)索引。

CREATE TABLE `user` (
`id` int(11) NOT NULL,
`name` varchar(20) NOT NULL,
`email` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

上述代碼演示了如何在MySQL中創(chuàng)建一個(gè)擁有自增主鍵的表,`PRIMARY KEY`用于定義主鍵,指定了`id`列為主鍵。當(dāng)我們執(zhí)行該語句后,MySQL會(huì)自動(dòng)為該主鍵創(chuàng)建一個(gè)BTree索引。

外鍵是另一種特殊的約束,作用是在兩個(gè)表之間建立聯(lián)系,通常情況下,外鍵是指一個(gè)表的列關(guān)聯(lián)另一個(gè)表的主鍵。在MySQL中,為了提高外鍵查詢語句的效率,我們需要為外鍵創(chuàng)建索引。

CREATE TABLE `order` (
`id` int(11) NOT NULL,
`user_id` int(11) NOT NULL,
`order_no` varchar(20) NOT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`),
CONSTRAINT `order_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

上述代碼演示了如何在MySQL中創(chuàng)建一個(gè)擁有外鍵的表,`KEY`用于定義外鍵索引,`CONSTRAINT`用于定義外鍵約束,當(dāng)我們執(zhí)行該語句后,MySQL會(huì)自動(dòng)為該外鍵創(chuàng)建一個(gè)BTree索引。