MySQL是一個常用關系型數據庫管理系統,常常用于網站開發中數據存儲和管理。MySQL支持表的創建和數據的增刪改查,下面介紹如何創建兩個表并在兩個表之間建立關聯。
首先,我們需要創建兩個表,假設第一個表名字為students,包括學生的ID、姓名和年齡等信息。第二個表名字為scores,包括學生的ID、科目和成績等信息。創建students表可以使用以下代碼:
CREATE TABLE `students` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
創建scores表可以使用以下代碼:
CREATE TABLE `scores` ( `id` int(11) NOT NULL AUTO_INCREMENT, `student_id` int(11) DEFAULT NULL, `subject` varchar(50) DEFAULT NULL, `score` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `student_id` (`student_id`), CONSTRAINT `scores_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `students` (`id`) ON DELETE CASCADE ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
以上代碼中我們使用了MySQL的CREATE TABLE語句創建了兩個表。students表包含了ID、姓名和年齡三個字段,其中ID是主鍵;scores表包含了ID、學生ID、科目和成績四個字段,其中ID是主鍵,學生ID是外鍵,參考了students表中的ID字段。
當我們需要查詢一個學生的所有成績時,需要先通過學生ID找到在scores表中對應的所有記錄。這可以通過MySQL的INNER JOIN語句實現,例如:
SELECT students.name, scores.subject, scores.score FROM students INNER JOIN scores ON students.id = scores.student_id WHERE students.id = 1;
以上代碼中我們使用了MySQL的INNER JOIN語句,通過學生ID將students表和scores表連接起來,找到所有與學生ID匹配的記錄。該語句返回結果包含了該學生所有科目的成績。
綜上所述,我們可以發現在MySQL中,創建兩個表并在兩個表之間建立關聯可以通過CREATE TABLE語句和FOREIGN KEY約束實現。查詢兩個表之間的關聯可以通過INNER JOIN語句實現。以上就是MySQL兩個表的用法介紹。
上一篇如何打開css樣式面板