欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

sql語(yǔ)句 創(chuàng)建表

-- 刪除表
DROP TABLE IF EXISTS Student;
-- 創(chuàng)建表
CREATE TABLE Student(
Sno CHAR(9) PRIMARY KEY,-- 學(xué)號(hào) 主鍵
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,-- 課程號(hào) 主鍵
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é)號(hào) 主鍵
Cno CHAR(5),-- 課程號(hào) 主鍵
Grade INT NOT NULL, -- 成績(jī)
foreign key(Sno) references Student(Sno),
foreign key(Cno) references Course(Cno)
)charset=utf8;

注意創(chuàng)建表的時(shí)候要注意它的字段名,類型,長(zhǎng)度,約束條件,取值范圍要合適,大小寫(xiě)符號(hào)要正確,中文逗號(hào),分號(hào)和英文的要注意區(qū)分,sql語(yǔ)句有時(shí)運(yùn)行不起來(lái),可能就在某個(gè)標(biāo)點(diǎn)符號(hào)寫(xiě)漏或者寫(xiě)錯(cuò)

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

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

INSERT INTO Student
(Sno,Sname,Sage,Ssex,Sdept) VALUES
('20211127','殷郊',22,'男','數(shù)學(xué)系'),
('20211128','姬發(fā)',20,'男','農(nóng)業(yè)系'),
('20211129','蘇妲己',18,'女','外語(yǔ)系'),
('20211130','崇應(yīng)彪',23,'男','體育系')
INSERT INTO Course
(Cno,Cname,Cpno,Ccredit) VALUES
('1001','數(shù)據(jù)庫(kù)原理及應(yīng)用','數(shù)據(jù)結(jié)構(gòu)',2),
('2002','LINUX操作系統(tǒng)與程序設(shè)計(jì)','操作系統(tǒng)',4),
('3003','離散數(shù)學(xué)','高等數(shù)學(xué)',2),
('4004','Java程序設(shè)計(jì)語(yǔ)言','c語(yǔ)言和c++語(yǔ)言',2),
('5005','網(wǎng)絡(luò)安全','計(jì)算機(jī)網(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é)號(hào) ,Student.Sname AS 學(xué)生姓名,Student.Ssex AS 學(xué)生性別 Student.Sdept AS 學(xué)生院系,SC.Cno AS 選擇課程號(hào),SC.Grade AS 課程成績(jī)
FROM SC,Student
WHERE SC.Sno=Student.Sno;
-- 查詢表 course 和 SC
SELECT SC.Sno AS 學(xué)生學(xué)號(hào) ,SC.Cno AS 選擇課程號(hào),Course.Cname AS 學(xué)生課程名, Course.cpno AS 學(xué)生先行課, Course.Ccredit AS 課程學(xué)分, SC.Grade AS 課程成績(jī)
FROM SC,Course
WHERE SC.Cno=Course.Cno;
-- 查詢表 course 和 SC 和 Student
SELECT SC.Sno AS 學(xué)生學(xué)號(hào) ,Student.Sname AS 學(xué)生姓名,Student.Ssex AS 學(xué)生性別, Student.Sdept AS 學(xué)生院系,
SC.Cno AS 選擇課程號(hào),Course.Cname AS 學(xué)生課程名, Course.cpno AS 學(xué)生先行課, Course.Ccredit AS 課程學(xué)分,SC.Grade AS 課程成績(jī)
FROM SC,Student,Course
WHERE SC.Sno=Student.Sno AND SC.Cno=Course.Cno AND SC.Sno= 20211127;

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

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

?
-- 修改語(yǔ)句 單個(gè)示例
update Student set Sname='姜子牙' where Sno='20211127';
-- 刪除語(yǔ)句,單個(gè)示例
-- 這里刪除不了是因?yàn)橥怄I約束的問(wèn)題
delete from Student where Sno='20211127';?

最后提醒

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

 它可能報(bào)這種錯(cuò)誤,原因是想要?jiǎng)h除的數(shù)據(jù)和表與其他的數(shù)據(jù)或表存在主外鍵關(guān)系,MYSQL規(guī)定

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

總結(jié)

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

相關(guān)文章

  • MySQL嵌套查詢實(shí)例詳解

    MySQL嵌套查詢實(shí)例詳解

    這篇文章主要介紹了MySQL嵌套查詢的使用技巧,結(jié)合實(shí)例形式較為詳細(xì)的分析了MySQL嵌套查詢參數(shù)設(shè)置、使用方法與注意事項(xiàng),需要的朋友可以參考下
    2015-12-12
  • MySQL創(chuàng)建和刪除表操作命令實(shí)例講解

    MySQL創(chuàng)建和刪除表操作命令實(shí)例講解

    這篇文章主要介紹了MySQL創(chuàng)建和刪除表操作命令實(shí)例講解,本文講解了創(chuàng)建表、創(chuàng)建臨時(shí)表、查看已經(jīng)創(chuàng)建的mysql表等內(nèi)容,需要的朋友可以參考下
    2014-12-12
  • MySQL數(shù)據(jù)庫(kù)查詢性能優(yōu)化策略

    MySQL數(shù)據(jù)庫(kù)查詢性能優(yōu)化策略

    這篇文章主要介紹了MySQL數(shù)據(jù)庫(kù)查詢性能優(yōu)化的策略,幫助大家的工作學(xué)習(xí)提高M(jìn)ySQL數(shù)據(jù)庫(kù)的性能,感興趣的朋友可以了解下
    2020-08-08
  • mysql忘記root密碼的解決辦法(針對(duì)不同mysql版本)

    mysql忘記root密碼的解決辦法(針對(duì)不同mysql版本)

    這篇文章主要介紹了mysql忘記root密碼的解決辦法(針對(duì)不同mysql版本),文章通過(guò)代碼示例和圖文結(jié)合的方式給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-06-06
  • mysql誤刪root用戶恢復(fù)方法

    mysql誤刪root用戶恢復(fù)方法

    這篇文章主要介紹了mysql誤刪root用戶恢復(fù)方法,本文操作是在mysql5.5版本下完成,其它版本僅作參考,需要的朋友可以參考下
    2015-02-02
  • MySQL與Oracle的語(yǔ)法區(qū)別詳細(xì)對(duì)比

    MySQL與Oracle的語(yǔ)法區(qū)別詳細(xì)對(duì)比

    Oracle和mysql的一些簡(jiǎn)單命令對(duì)比在本文中將會(huì)涉及到很多的實(shí)例,感興趣的你不妨學(xué)習(xí)一下,就當(dāng)鞏固自己的知識(shí)了
    2013-03-03
  • MySQL時(shí)間設(shè)置注意事項(xiàng)的深入總結(jié)

    MySQL時(shí)間設(shè)置注意事項(xiàng)的深入總結(jié)

    這篇文章主要給大家介紹了關(guān)于MySQL時(shí)間設(shè)置注意事項(xiàng)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • mysql實(shí)現(xiàn)事務(wù)的提交與回滾的實(shí)例詳解

    mysql實(shí)現(xiàn)事務(wù)的提交與回滾的實(shí)例詳解

    在本篇文章中我們給大家分享一篇關(guān)于mysql實(shí)現(xiàn)事務(wù)的提交與回滾的實(shí)例內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。
    2020-01-01
  • MySql 5.7.20安裝及data和my.ini文件的配置

    MySql 5.7.20安裝及data和my.ini文件的配置

    本文通過(guò)圖文并茂的形式給大家介紹了MySql 5.7.20安裝及data和my.ini文件的配置方法,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2017-11-11
  • 詳解MySQL 重做日志(redo log)與回滾日志(undo logo)

    詳解MySQL 重做日志(redo log)與回滾日志(undo logo)

    這篇文章主要介紹了MySQL redo與undo日志的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)MySQL,感興趣的朋友可以了解下
    2020-08-08

最新評(píng)論