MySQL是一種流行的關系型數據庫管理系統,可用于存儲和管理大量的數據。在MySQL中,我們可以使用多種方式建立關聯表,以便更好地管理數據庫中的數據。本文將介紹如何使用MySQL建立兩張關聯表。
CREATE TABLE `users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(50) NOT NULL, `password` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
上述代碼創建了名為“users”的表,并定義了三個列:“id”(整數類型,自動增加的主鍵),“username”(必須填寫的字符串類型)和“password”(必須填寫的字符串類型,最大長度為255)。接下來我們要創建第二張表,并將其與“users”表關聯。
CREATE TABLE `orders` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `product` varchar(50) NOT NULL, `price` decimal(10,2) NOT NULL, `created_at` timestamp NOT NULL DEFAULT current_timestamp(), PRIMARY KEY (`id`), CONSTRAINT `fk_user_id` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
上述代碼創建了名為“orders”的表,并定義了五個列:“id”(整數類型,自動增加的主鍵),“user_id”(整數類型,與“users”表中的“id”列相對應的外鍵),“product”(必須填寫的字符串類型),“price”(必須填寫的十進制類型,最多有兩個小數位)和“created_at”(時間戳類型,設置默認值為當前時間)。
我們使用“CONSTRAINT fk_user_id FOREIGN KEY (user_id) REFERENCES users (id)”建立了一個外鍵約束,以確保“orders”表中的每個“user_id”值都存在于“users”表中的“id”列中。
最后,我們可以使用以下代碼查詢這兩張表,以確保它們正確地關聯在一起。
SELECT * FROM users INNER JOIN orders ON users.id = orders.user_id;
上述代碼會將“users”和“orders”表連接在一起,并返回所有匹配的記錄。
上一篇mysql 怎么添加一列
下一篇mysql建立事務