最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql如何用sql語句建立學(xué)生課程數(shù)據(jù)庫基本表

 更新時間:2023年12月04日 09:15:50   作者:冰鮮檸檬汁  
這篇文章主要給大家介紹了關(guān)于mysql如何用sql語句建立學(xué)生課程數(shù)據(jù)庫基本表的相關(guān)資料,學(xué)生表是一個常見的數(shù)據(jù)表,用于存儲學(xué)生的個人信息和成績等相關(guān)數(shù)據(jù),文中通過代碼示例介紹的非常詳細,需要的朋友可以參考下

首先要準(zhǔn)備三個表Student學(xué)生表、Course課程表、SC選課表

學(xué)生表學(xué)號姓名年齡性別院系
StudentSnoSnameSageSsexSdept
課程表課程號課程名先行課學(xué)分
CourseCnoCnameCpnoCcredit
選課表學(xué)號課程號成績
SCSnoCnoGrade

sql語句 創(chuàng)建表

-- 刪除表
DROP TABLE IF EXISTS Student;
-- 創(chuàng)建表
CREATE TABLE Student(
Sno CHAR(9) PRIMARY KEY,-- 學(xué)號 主鍵
Sname VARCHAR(20) NOT NULL,-- 姓名 非空且唯一
Sage INT NOT NULL,-- 年齡
Ssex VARCHAR(5) NOT NULL,-- 性別
Sdept VARCHAR(10) NOT NULL -- 所在系
)charset=utf8;
-- 刪除表
DROP TABLE IF EXISTS Course;
-- 創(chuàng)建表
CREATE TABLE Course(
Cno CHAR(5) PRIMARY KEY,-- 課程號 主鍵
Cname VARCHAR(20) NOT NULL ,-- 課程名 非空
Cpno VARCHAR(20)  NOT NULL,-- 先行課
Ccredit Double(5,2) NOT NULL-- 學(xué)分
)charset=utf8;
-- 刪除表
DROP TABLE IF EXISTS SC;
-- 創(chuàng)建表
CREATE TABLE SC(
Sno CHAR(9),-- 學(xué)號 主鍵
Cno CHAR(5),-- 課程號 主鍵
Grade INT NOT NULL, -- 成績
foreign key(Sno) references Student(Sno),
foreign key(Cno) references Course(Cno)
)charset=utf8;

注意創(chuàng)建表的時候要注意它的字段名,類型,長度,約束條件,取值范圍要合適,大小寫符號要正確,中文逗號,分號和英文的要注意區(qū)分,sql語句有時運行不起來,可能就在某個標(biāo)點符號寫漏或者寫錯

這里Sno 和 Cno 分別是學(xué)生表和課程表的主鍵,但同時又是SC的外鍵,這里要寫外鍵約束

插入數(shù)據(jù)

INSERT INTO Student
(Sno,Sname,Sage,Ssex,Sdept) VALUES
('20211127','殷郊',22,'男','數(shù)學(xué)系'),
('20211128','姬發(fā)',20,'男','農(nóng)業(yè)系'),
('20211129','蘇妲己',18,'女','外語系'),
('20211130','崇應(yīng)彪',23,'男','體育系')
INSERT INTO Course
(Cno,Cname,Cpno,Ccredit) VALUES
('1001','數(shù)據(jù)庫原理及應(yīng)用','數(shù)據(jù)結(jié)構(gòu)',2),
('2002','LINUX操作系統(tǒng)與程序設(shè)計','操作系統(tǒng)',4),
('3003','離散數(shù)學(xué)','高等數(shù)學(xué)',2),
('4004','Java程序設(shè)計語言','c語言和c++語言',2),
('5005','網(wǎng)絡(luò)安全','計算機網(wǎng)絡(luò)',4)
INSERT INTO SC
(Sno,cno,Grade) VALUES
('20211127','1001',98),
('20211127','2002',96),
('20211127','3003',95),
('20211127','4004',90),
('20211127','5005',93),
('20211128','1001',98),
('20211128','2002',96),
('20211128','3003',95),
('20211128','4004',90),
('20211128','5005',93),
('20211129','1001',98),
('20211129','2002',96),
('20211129','3003',95),
('20211129','4004',90),
('20211129','5005',93),
('20211130','1001',98),
('20211130','2002',96),
('20211130','3003',95),
('20211130','4004',90),
('20211130','5005',93)

查詢數(shù)據(jù)表

-- 查詢表所有
select * from Student;
select * from Course;
select * from SC;

結(jié)果

還可以多表查詢

-- 多表查詢,
-- 查詢表 Student和SC
SELECT SC.Sno AS 學(xué)生學(xué)號 ,Student.Sname AS 學(xué)生姓名,Student.Ssex AS 學(xué)生性別 Student.Sdept AS 學(xué)生院系,SC.Cno AS 選擇課程號,SC.Grade AS 課程成績
FROM SC,Student
WHERE SC.Sno=Student.Sno;
-- 查詢表 course 和 SC
SELECT SC.Sno AS 學(xué)生學(xué)號 ,SC.Cno AS 選擇課程號,Course.Cname AS 學(xué)生課程名, Course.cpno AS 學(xué)生先行課, Course.Ccredit AS 課程學(xué)分, SC.Grade AS 課程成績
FROM SC,Course
WHERE SC.Cno=Course.Cno;
-- 查詢表 course 和 SC 和 Student
SELECT SC.Sno AS 學(xué)生學(xué)號 ,Student.Sname AS 學(xué)生姓名,Student.Ssex AS 學(xué)生性別, Student.Sdept AS 學(xué)生院系,
SC.Cno AS 選擇課程號,Course.Cname AS 學(xué)生課程名, Course.cpno AS 學(xué)生先行課, Course.Ccredit AS 課程學(xué)分,SC.Grade AS 課程成績
FROM SC,Student,Course
WHERE SC.Sno=Student.Sno AND SC.Cno=Course.Cno AND SC.Sno= 20211127;

這里,感興趣的自己去試一試吧,

修改數(shù)據(jù)表(單個示例)

?
-- 修改語句 單個示例
update Student set Sname='姜子牙' where Sno='20211127';
-- 刪除語句,單個示例
-- 這里刪除不了是因為外鍵約束的問題
delete from Student where Sno='20211127';?

最后提醒

如果最后操作運行時出錯,可能是SC表設(shè)置了外鍵約束的問題,

 它可能報這種錯誤,原因是想要刪除的數(shù)據(jù)和表與其他的數(shù)據(jù)或表存在主外鍵關(guān)系,MYSQL規(guī)定

為了維護表結(jié)構(gòu)的穩(wěn)定,禁止執(zhí)行該操作,即外鍵約束失敗,解決方法,將帶有外鍵約束的表刪掉,,然后重新執(zhí)行其他數(shù)據(jù)表即可,亦或者解除外鍵關(guān)聯(lián),然后執(zhí)行增刪改查操作,然后重新建立外鍵關(guān)聯(lián)

總結(jié)

到此這篇關(guān)于mysql如何用sql語句建立學(xué)生課程數(shù)據(jù)庫基本表的文章就介紹到這了,更多相關(guān)sql語句建立學(xué)生課程基本表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql巡檢腳本(必看篇)

    mysql巡檢腳本(必看篇)

    下面小編就為大家?guī)硪黄猰ysql巡檢腳本(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 解決Navicat查詢到的數(shù)據(jù)不能修改問題

    解決Navicat查詢到的數(shù)據(jù)不能修改問題

    文章主要討論了在Navicat中查詢到的數(shù)據(jù)不能修改的幾種可能原因,包括表是只讀、權(quán)限不夠、表沒有設(shè)置主鍵以及使用了GROUP BY查詢導(dǎo)致的數(shù)據(jù)不是原來表里的數(shù)據(jù)
    2025-11-11
  • MySQL和Elasticsearch數(shù)據(jù)同步方案詳解

    MySQL和Elasticsearch數(shù)據(jù)同步方案詳解

    在現(xiàn)代電商系統(tǒng)中,MySQL 作為關(guān)系型數(shù)據(jù)庫負責(zé)數(shù)據(jù)的持久化存儲,而 Elasticsearch 則作為搜索引擎提供高效的全文檢索能力,本文就來詳細的介紹一下MySQL和Elasticsearch數(shù)據(jù)同步方案,感興趣的可以了解一下
    2025-10-10
  • Mysql的Binlog數(shù)據(jù)恢復(fù):不小心刪除數(shù)據(jù)庫詳解

    Mysql的Binlog數(shù)據(jù)恢復(fù):不小心刪除數(shù)據(jù)庫詳解

    這篇文章主要介紹了Mysql的Binlog數(shù)據(jù)恢復(fù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 關(guān)于Mysql子查詢的三個應(yīng)用場景

    關(guān)于Mysql子查詢的三個應(yīng)用場景

    這篇文章主要介紹了關(guān)于Mysql子查詢的三個應(yīng)用場景,子查詢是在一個完整的查詢語句中,嵌套不同功能的小查詢,從而完成復(fù)雜查詢的一種編寫形式,需要的朋友可以參考下
    2023-07-07
  • MySQL 查詢樹結(jié)構(gòu)方式

    MySQL 查詢樹結(jié)構(gòu)方式

    今天小編就為大家分享一篇MySQL 查詢樹結(jié)構(gòu)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • mysql5.7.20 安裝配置方法圖文教程(mac)

    mysql5.7.20 安裝配置方法圖文教程(mac)

    這篇文章主要為大家詳細介紹了mac下mysql5.7.20 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • Navicat for MySQL 11注冊碼\激活碼匯總

    Navicat for MySQL 11注冊碼\激活碼匯總

    Navicat for MySQL注冊碼用來激活 Navicat for MySQL 軟件,只要擁有 Navicat 注冊碼就能激活相應(yīng)的 Navicat 產(chǎn)品。這篇文章主要介紹了Navicat for MySQL 11注冊碼\激活碼匯總,需要的朋友可以參考下
    2020-11-11
  • mysqld_multi在Linux服務(wù)器上運行多個MySQL實例

    mysqld_multi在Linux服務(wù)器上運行多個MySQL實例

    在Linux系統(tǒng)上使用mysqld_multi來啟動和管理多個MySQL實例是一種常見的做法,這種方式允許你在同一臺機器上運行多個MySQL服務(wù),每個服務(wù)可以有不同的配置和數(shù)據(jù)目錄,這篇文章展示如何設(shè)置和使用mysqld_multi來啟動多個MySQL實例
    2025-02-02
  • Mysql 行級鎖的使用及死鎖的預(yù)防方案

    Mysql 行級鎖的使用及死鎖的預(yù)防方案

    mysql的InnoDB,支持事務(wù)和行級鎖,可以使用行鎖來處理用戶提現(xiàn)等業(yè)務(wù)。使用mysql鎖的時候有時候會出現(xiàn)死鎖,要做好死鎖的預(yù)防。這篇文章通過實例應(yīng)用給大家講解
    2016-12-12

最新評論

大安市| 东辽县| 临海市| 九江市| 闻喜县| 木兰县| 达州市| 义乌市| 临海市| 宽城| 当阳市| 潮安县| 永清县| 东安县| 宁都县| 如东县| 乃东县| 宁安市| 平谷区| 祁阳县| 海安县| 普宁市| 武安市| 巍山| 松潘县| 芜湖市| 泸西县| 彰武县| 塔河县| 竹北市| 萍乡市| 太康县| 福海县| 武城县| 永昌县| 淳化县| 普安县| 周至县| 重庆市| 黔西县| 钟山县|