国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Mysql數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告--實(shí)驗(yàn)五 存儲(chǔ)過(guò)程和觸發(fā)器

這篇具有很好參考價(jià)值的文章主要介紹了Mysql數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告--實(shí)驗(yàn)五 存儲(chǔ)過(guò)程和觸發(fā)器。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

在這個(gè)系列會(huì)更新一些最近老師要求寫的實(shí)驗(yàn)報(bào)告~
大家盡量對(duì)著我的文章做一個(gè)參考,不要盲目的cv,畢竟這個(gè)對(duì)于我們以后的工作學(xué)習(xí)還是十分重要的。

從這個(gè)實(shí)驗(yàn)開(kāi)始,就不在cmd命令行里面進(jìn)行mysql數(shù)據(jù)庫(kù)的操作,因?yàn)榇a長(zhǎng)度和代碼的復(fù)雜性,需使用 MySQL Workbench:
Mysql數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告--實(shí)驗(yàn)五 存儲(chǔ)過(guò)程和觸發(fā)器
雙擊數(shù)據(jù)庫(kù)(密碼還是啟動(dòng)cmd命令行的密碼)
Mysql數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告--實(shí)驗(yàn)五 存儲(chǔ)過(guò)程和觸發(fā)器
使用示例:
查詢databases

show databases;

運(yùn)行當(dāng)前行:ctrl+enter
Mysql數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告--實(shí)驗(yàn)五 存儲(chǔ)過(guò)程和觸發(fā)器
其他常用快捷方式:
1、執(zhí)行整篇sql腳本:【Ctrl】+【Shift】+【Enter】

2、執(zhí)行當(dāng)前行:【Ctrl】+【Enter】

3、注釋/取消注釋:【Ctrl】+【/】

4、格式化sql語(yǔ)句(美化sql語(yǔ)句):【Ctrl】+【B】

5、自動(dòng)補(bǔ)全:【Ctrl】+【Space】


事不宜遲,貼上本次實(shí)驗(yàn)的題目:

創(chuàng)建學(xué)生表,課程表,選課表。

#創(chuàng)建學(xué)生表:包括學(xué)號(hào),姓名,年齡,性別,院系
CREATE TABLE student
(
Sno VARCHAR(7)PRIMARY KEY,
Sname VARCHAR(10)NOT NULL,
Sage INT,
Ssex VARCHAR(2),
Sdept VARCHAR(20) DEFAULT '計(jì)算機(jī)系'
);

#創(chuàng)建課程表:包括課程號(hào),課程名,選修課課程號(hào),學(xué)分
CREATE TABLE course
(
Cno VARCHAR(10)PRIMARY KEY,
Cname VARCHAR (20)NOT NULL,
Cpno VARCHAR(10),
Ccredit INT
);


#創(chuàng)建選課表
CREATE TABLE sc
(
Sno VARCHAR(7),
Cno VARCHAR(10),
grade INT,
FOREIGN KEY (sno) REFERENCES student(Sno),
FOREIGN KEY (cno) REFERENCES course(cno)
);

向表中插入數(shù)據(jù):

#  向?qū)W生表S中插入數(shù)據(jù)
INSERT INTO student
   (Sno,Sname,Sage,Ssex,Sdept)
VALUE
   ("10001","張三",20,'男','計(jì)算機(jī)'),
   ("10002","李梅",19,'女','計(jì)算機(jī)'),
   ("10003","王五",18,'男','CS'),
   ("10004","小明",21,'男','計(jì)算機(jī)'),
   ("10006","黎明",18,'男','藝術(shù)表演'),
   ("10008","杰克",21,'男','計(jì)算機(jī)'),
   ("10005","小紅",22,'女','CS');

#  向課程表C中插入數(shù)據(jù)   
INSERT INTO course
   (Cno,Cname,Cpno,Ccredit)
VALUE
   ("1","離散數(shù)學(xué)",NULL,5),
   ("2","線性代數(shù)",'3',6),
   ("3","高等數(shù)學(xué)",NULL,4),
   ("4","數(shù)據(jù)結(jié)構(gòu)",'3',6),
   ("5","操作系統(tǒng)",'1',4),
   ("6","數(shù)據(jù)庫(kù)",'4',5);



#  向選課表SC中插入數(shù)據(jù)  
INSERT INTO sc
  (Sno,Cno,grade)
VALUE
  ("10001","1",70),
  ("10001","6",56),
  ("10003","4",90),
  ("10003","5",83),
  ("10004","1",75),
  ("10004","3",90),
  ("10008","1",70),
  ("10008","5",70),
  ("10008","6",88),
  ("10002","1",85),
  ("10002","6",89);

一、創(chuàng)建并調(diào)用如下的存儲(chǔ)過(guò)程。

1、 定義一個(gè)存儲(chǔ)函數(shù),按性別計(jì)算所有學(xué)生的平均年齡。

delimiter //
create procedure avg_age_sex(in stu_sex varchar(30))
begin
select avg(Sage) from student where Ssex=stu_sex;
end//
delimiter ;
call avg_age_sex('女');

2、 編寫存儲(chǔ)過(guò)程,根據(jù)給定的學(xué)生學(xué)號(hào),計(jì)算該生的平均成績(jī)

delimiter //
create procedure avg_grade_cno1(in stu_cno int)
begin
select avg(grade) as '平均成績(jī)' from sc where Cno=stu_cno;
end//
delimiter ;

call avg_grade_cno1(1);

3、 創(chuàng)建存儲(chǔ)過(guò)程,能夠查詢出指定課程(課程名)的平均成績(jī),并用OUT參數(shù)返回結(jié)果。

delimiter //
create procedure avg_grade7(in stu_cno varchar(30),out avgsc1 decimal(6,4))
begin
select avg(grade) as '平均成績(jī)' from sc,course where course.Cname=stu_cno and course.Cno=sc.Cno;
end//
delimiter ;
set @avgsc1 = 60;
call avg_grade7('高等數(shù)學(xué)',@avgsc1);
select @avgsc1;

4、創(chuàng)建存儲(chǔ)過(guò)程p_Insertstu,實(shí)現(xiàn)向?qū)W生數(shù)據(jù)表中插入一個(gè)新同學(xué),并提供相應(yīng)的實(shí)參值(實(shí)參值由用戶自定)。

delimiter //
create  procedure p_Insertstu(in Sno varchar(7),in Sname varchar(10),in Sage int,in Ssex varchar(2),in Sdept varchar(20))
reads sql data
begin
insert into student values(Sno,Sname,Sage,Ssex,Sdept);
end//
delimiter ;
call p_Insertstu('10009','紫涵','20','女','計(jì)算機(jī)');
select  * from student;

二、創(chuàng)建觸發(fā)器。

1、創(chuàng)建觸發(fā)器,在學(xué)生表中刪除學(xué)生信息的同時(shí)將選課信息表中該學(xué)生的選課信息刪除,以確保數(shù)據(jù)的完整性;

#關(guān)閉安全模式
show variables like 'SQL_SAFE_UPDATES';
SET SQL_SAFE_UPDATES = 0;
drop trigger if exists delete_stu;
#題目代碼
delimiter //
create trigger delete_stu1
after delete on student
for each row
begin 
	delete from sc where sc.Sno=@Sno;
end //

2、創(chuàng)建觸發(fā)器,在選課信息表中添加學(xué)生選課信息的同時(shí),增加學(xué)生表中該學(xué)生的選課數(shù)量信息,以確保數(shù)據(jù)的完整性;

delimiter //
create trigger update_stu1
after insert on sc
for each row
begin 
	set @csum=0;
    select count(Sno) into @csum from sc where Sno=@Sno;
	update student set csum=@csum where Sno=@sno;
end //

完整sql文件:
鏈接:https://pan.baidu.com/s/1PD_mD9Q-uCNQPANq2TmFew?pwd=69ev
提取碼:69ev

推薦一個(gè)b站講的不錯(cuò)的視頻:
mysql數(shù)據(jù)庫(kù)高級(jí)篇文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-489082.html

到了這里,關(guān)于Mysql數(shù)據(jù)庫(kù)實(shí)驗(yàn)報(bào)告--實(shí)驗(yàn)五 存儲(chǔ)過(guò)程和觸發(fā)器的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 數(shù)據(jù)庫(kù)系統(tǒng)原理及MySQL應(yīng)用教程實(shí)驗(yàn)八觸發(fā)器創(chuàng)建與管理

    數(shù)據(jù)庫(kù)系統(tǒng)原理及MySQL應(yīng)用教程實(shí)驗(yàn)八觸發(fā)器創(chuàng)建與管理

    1.理解觸發(fā)器的概念與類型。 2.理解觸發(fā)器的功能及工作原理。 3.掌握創(chuàng)建、更改、刪除觸發(fā)器的方法。 4.掌握利用觸發(fā)器維護(hù)數(shù)據(jù)完整性的方法。 1.驗(yàn)證性實(shí)驗(yàn):某同學(xué)定義產(chǎn)品信息product表,并對(duì)其觸發(fā)器創(chuàng)建與管理 2.設(shè)計(jì)性試驗(yàn):某同學(xué)定義產(chǎn)品信息product表,并對(duì)其

    2024年02月04日
    瀏覽(26)
  • 數(shù)據(jù)庫(kù)實(shí)驗(yàn)6 存儲(chǔ)過(guò)程實(shí)驗(yàn)

    數(shù)據(jù)庫(kù)實(shí)驗(yàn)6 存儲(chǔ)過(guò)程實(shí)驗(yàn)

    前言:游標(biāo)的mysql代碼不懂寫,所以沒(méi)有運(yùn)行結(jié)果 實(shí)驗(yàn)6.1 存儲(chǔ)過(guò)程實(shí)驗(yàn) 1.實(shí)驗(yàn)?zāi)康?掌握數(shù)據(jù)庫(kù) PL/SQL 編程語(yǔ)言,以及數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程的設(shè)計(jì)和使用方法。 2.實(shí)驗(yàn)內(nèi)容和要求 存儲(chǔ)過(guò)程定義,存儲(chǔ)過(guò)程運(yùn)行,存儲(chǔ)過(guò)程更名,存儲(chǔ)過(guò)程刪除,存儲(chǔ)過(guò)程的參數(shù)傳遞。掌握PL/SQL編程語(yǔ)言和編

    2024年02月04日
    瀏覽(20)
  • MySQL數(shù)據(jù)庫(kù) 實(shí)驗(yàn)報(bào)告(一)

    MySQL數(shù)據(jù)庫(kù) 實(shí)驗(yàn)報(bào)告(一)

    實(shí)驗(yàn)報(bào)告(一) 1、實(shí)驗(yàn)?zāi)康?(1)掌握系統(tǒng)數(shù)據(jù)類型的特點(diǎn)和功能 (2)掌握創(chuàng)建、修改表結(jié)構(gòu)的方法 (3)掌握數(shù)據(jù)添加的方法 2、實(shí)驗(yàn)預(yù)習(xí)與準(zhǔn)備 (1)MYSQL中創(chuàng)建數(shù)據(jù)庫(kù)的命令 (2)表結(jié)構(gòu)的創(chuàng)建、修改和刪除 (3)MYSQL導(dǎo)入導(dǎo)出表數(shù)據(jù)的方式 (4)添加數(shù)據(jù)的SQL命令 3、實(shí)

    2024年02月05日
    瀏覽(27)
  • 數(shù)據(jù)庫(kù)實(shí)驗(yàn) | 第5關(guān):使用游標(biāo)的存儲(chǔ)過(guò)程

    數(shù)據(jù)庫(kù)實(shí)驗(yàn) | 第5關(guān):使用游標(biāo)的存儲(chǔ)過(guò)程

    本關(guān)任務(wù): jdxx數(shù)據(jù)表有四個(gè)字段,分別是省份(sf)、城市(cs)、區(qū)縣(qxmc)、街道(name)。 例如,查詢天心區(qū)(qxmc)的所有字段的值結(jié)果如圖所示 建立存儲(chǔ)過(guò)程 tjdq(in sf varchar(10)) 輸入省份的名稱,將該省份所有城市的所有地區(qū)的 鄉(xiāng)x、鎮(zhèn)z和街道jd和其他的個(gè)數(shù)插入到數(shù)據(jù)表dqtj中。

    2023年04月23日
    瀏覽(29)
  • MySQL數(shù)據(jù)庫(kù)設(shè)計(jì)作業(yè) ——《網(wǎng)上書店系統(tǒng)》數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)驗(yàn)報(bào)告

    MySQL數(shù)據(jù)庫(kù)設(shè)計(jì)作業(yè) ——《網(wǎng)上書店系統(tǒng)》數(shù)據(jù)庫(kù)設(shè)計(jì)實(shí)驗(yàn)報(bào)告

    普通用戶:可以進(jìn)行最基礎(chǔ)的登陸操作,可瀏覽圖書、按類別查詢圖書、查看 圖書的詳細(xì)信息,還可以注冊(cè)成為會(huì)員。 會(huì)員:需要填寫詳細(xì)信息(真實(shí)姓名、性別、手機(jī)號(hào)、地址、郵箱等),可瀏覽圖書、按類別查詢圖書、查看圖書的詳細(xì)信息,在此基礎(chǔ)上,還可以訂購(gòu)圖

    2024年02月04日
    瀏覽(33)
  • 數(shù)據(jù)庫(kù)(MySQL)的存儲(chǔ)過(guò)程

    數(shù)據(jù)庫(kù)(MySQL)的存儲(chǔ)過(guò)程

    存儲(chǔ)過(guò)程是事先經(jīng)過(guò)編譯并存儲(chǔ)在數(shù)據(jù)庫(kù)中的一段SQL 語(yǔ)句的集合,調(diào)用存儲(chǔ)過(guò)程可以簡(jiǎn)化應(yīng)用開(kāi)發(fā)人員的很多工作,減少數(shù)據(jù)在數(shù)據(jù)庫(kù)和應(yīng)用服務(wù)器之間的傳輸,對(duì)于提高數(shù)據(jù)處理的效率是有好處的。 存儲(chǔ)過(guò)程思想上很簡(jiǎn)單,就是數(shù)據(jù)庫(kù)SQL 語(yǔ)言層面的代碼封裝與重用。 特點(diǎn)

    2024年02月10日
    瀏覽(39)
  • 【MySQL 數(shù)據(jù)庫(kù)】9、存儲(chǔ)過(guò)程

    【MySQL 數(shù)據(jù)庫(kù)】9、存儲(chǔ)過(guò)程

    ?? 存儲(chǔ)過(guò)程是事先經(jīng)過(guò)編譯并存儲(chǔ)在數(shù)據(jù)庫(kù)中的 SQL 語(yǔ)句的集合,調(diào)用存儲(chǔ)過(guò)程可以簡(jiǎn)化應(yīng)用開(kāi)發(fā)人員的很多工作,減少數(shù)據(jù)在數(shù)據(jù)庫(kù)和應(yīng)用服務(wù)器之間的傳輸,可以提高數(shù)據(jù)處理效率 ?? 存儲(chǔ)過(guò)程思想上很簡(jiǎn)單:就是數(shù)據(jù)庫(kù) SQL 語(yǔ)言層面的代碼封裝與重用 ?? 【封裝,復(fù)用

    2024年02月08日
    瀏覽(32)
  • MySQL數(shù)據(jù)庫(kù)中的存儲(chǔ)過(guò)程以及存儲(chǔ)函數(shù)練習(xí)

    ?字段名? ? ?? 數(shù)據(jù)類型? ? ? ?主鍵?? ?外鍵?? ?非空 ? 唯一? ? 自增 ?? ???id? ? ? ? ? ? ?INT? ? ? ? ? ? ? ?是 ?? ? 否 ?? ? ?是? ? ? ?是? ? ? ? ? ?否 ?? name?? ?VARCHAR(50)? ?否 ?? ? 否 ?? ? ?是? ? ? ?否? ? ? ? ? ?否 ???glass ? VARCHAR(50)? ? ?否 ??

    2024年02月15日
    瀏覽(22)
  • MySQL數(shù)據(jù)庫(kù)——MySQL修改存儲(chǔ)過(guò)程(ALTER PROCEDURE)

    在實(shí)際開(kāi)發(fā)過(guò)程中,業(yè)務(wù)需求修改的情況時(shí)有發(fā)生,所以修改 MySQL 中的存儲(chǔ)過(guò)程是不可避免的。 MySQL 中通過(guò) ALTER PROCEDURE 語(yǔ)句來(lái)修改存儲(chǔ)過(guò)程。下面將詳細(xì)講解修改存儲(chǔ)過(guò)程的方法。 MySQL 中修改存儲(chǔ)過(guò)程的語(yǔ)法格式如下: ALTER PROCEDURE 存儲(chǔ)過(guò)程名 [ 特征 ... ] 特征 指定了存儲(chǔ)

    2024年02月04日
    瀏覽(21)
  • 使用MySQL存儲(chǔ)過(guò)程提高數(shù)據(jù)庫(kù)效率和可維護(hù)性

    使用MySQL存儲(chǔ)過(guò)程提高數(shù)據(jù)庫(kù)效率和可維護(hù)性

    MySQL 存儲(chǔ)過(guò)程是一種強(qiáng)大的數(shù)據(jù)庫(kù)功能,它允許你在數(shù)據(jù)庫(kù)中存儲(chǔ)和執(zhí)行一組SQL語(yǔ)句,類似于編程中的函數(shù)。存儲(chǔ)過(guò)程可以大幅提高數(shù)據(jù)庫(kù)的性能、安全性和可維護(hù)性。本文將詳細(xì)介紹MySQL存儲(chǔ)過(guò)程的使用。 MySQL存儲(chǔ)過(guò)程是一組預(yù)編譯的SQL語(yǔ)句,它們以一個(gè)名稱存儲(chǔ)在數(shù)據(jù)庫(kù)

    2024年02月08日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包