介紹MySQL
MySQL是一種開源的關系型數據庫,可以在Web應用程序和網站中使用。它可以處理大量數據,支持多用戶訪問,具有快速的性能和良好的穩定性。MySQL常常被用于存儲和管理大型數據集合,支持多種編程語言,如PHP,Java和Python。
數據表設計
在MySQL中,數據表是一組相關數據的集合,使用表格的形式呈現。數據表通常由列和行組成,列定義了表中每個數據的屬性,行則包含了實際的數據。為了實現表與表之間的關聯,還需要使用外鍵,具體請看下面的SQL代碼:
CREATE TABLE student (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
gender VARCHAR(10) NOT NULL
);
CREATE TABLE course (
id INT NOT NULL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
teacher VARCHAR(50) NOT NULL
);
CREATE TABLE score (
id INT NOT NULL PRIMARY KEY,
student_id INT NOT NULL,
course_id INT NOT NULL,
score INT NOT NULL,
FOREIGN KEY (student_id) REFERENCES student(id),
FOREIGN KEY (course_id) REFERENCES course(id)
);
查詢學生選擇課程數
要查詢每個學生選擇的課程數,可以使用COUNT函數和GROUP BY子句。具體請看下面的SQL代碼:
SELECT s.id, s.name, COUNT(sc.course_id) AS course_num
FROM student s LEFT JOIN score sc
ON s.id = sc.student_id
GROUP BY s.id;
在此SQL語句中,我們使用了LEFT JOIN來連接student和score兩張表,以便查詢學生選擇的所有課程的數目。我們還使用GROUP BY子句為每個學生分組,并使用COUNT函數統計每個學生選擇的課程數。結果集將返回所有學生的ID、姓名和所選課程數。
總結
MySQL是一種快速、可靠、穩定的關系型數據庫,可以存儲和管理大量數據集合。在設計數據表時,需要使用外鍵來實現表與表之間的關聯。要查詢學生選擇的課程數,可以使用COUNT函數和GROUP BY子句來實現。