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

mysql外鍵實例學生成績

方一強1年前8瀏覽0評論

在學習MySQL數據庫時,外鍵是一個非常重要的概念。它可以幫助我們建立表與表之間的關系,使數據的存儲更加合理化。

以下是一個關于學生成績的例子。我們準備創建兩個表:學生表和成績表。學生表中存儲了學生的姓名、性別、年齡等信息;成績表中存儲了學生的姓名以及語文、數學和英語三門科目的成績。

-- 創建學生表
create table student(
id int primary key auto_increment not null, -- 學號
name varchar(20), -- 姓名
sex varchar(2), -- 性別
age int -- 年齡
);
-- 創建成績表
create table score(
id int primary key auto_increment not null, -- 學號
name varchar(20), -- 姓名
chinese int, -- 語文成績
math int, -- 數學成績
english int, -- 英語成績
foreign key (id) references student(id) -- 外鍵關聯學生表的id字段
);

在上面的代碼中,我們使用了外鍵將成績表的學號字段id與學生表的id字段進行了關聯。

接下來,我們可以向學生表和成績表中插入一些數據:

-- 向學生表中插入數據
insert into student(name, sex, age) values('張三', '男', 18);
insert into student(name, sex, age) values('李四', '女', 19);
insert into student(name, sex, age) values('王五', '男', 20);
-- 向成績表中插入數據
insert into score(name, chinese, math, english) values('張三', 90, 80, 70);
insert into score(name, chinese, math, english) values('李四', 85, 75, 65);
insert into score(name, chinese, math, english) values('王五', 95, 85, 75);

注意,在向成績表中插入數據時,我們只需填寫姓名和三門科目的成績,而不需要填寫學號。這是因為,MySQL會根據外鍵的定義,自動獲取學生表中對應的學號。

當我們需要查詢某個學生的成績時,只需使用帶有join子句的select語句即可:

-- 查詢張三的成績
select s.name, sc.chinese, sc.math, sc.english from student as s
join score as sc on s.id = sc.id
where s.name = '張三';

在上面的查詢語句中,我們使用了join子句將學生表和成績表進行了關聯。在where子句中,我們指定了查詢條件為姓名為張三。

通過上面的例子,我們可以看到,外鍵的使用可以幫助我們更好地組織數據庫中的數據,提高數據的存儲效率和查詢效率。