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

MySQL:存儲過程與函數(shù)、視圖

這篇具有很好參考價值的文章主要介紹了MySQL:存儲過程與函數(shù)、視圖。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、學習目標

  1. 掌握如何創(chuàng)建存儲過程
  2. 掌握如何創(chuàng)建存儲函數(shù)
  3. 熟悉變量的使用方法
  4. 熟悉如何定義條件和處理程序
  5. 了解光標的使用方法
  6. 掌握流程控制的使用
  7. 掌握如何調(diào)用存儲過程和函數(shù)
  8. 熟悉如何查看存儲過程和函數(shù)
  9. 掌握修改存儲過程和函數(shù)的方法
  10. 熟悉如何刪除存儲過程和函數(shù)
  11. 掌握創(chuàng)建存儲過程和函數(shù)的方法和技巧
  12. 了解視圖的含義和作用
  13. 掌握創(chuàng)建視圖的方法
  14. 熟悉如何查看視圖
  15. 掌握修改視圖的方法
  16. 掌握更新視圖的方法
  17. 掌握刪除視圖的方法
  18. 掌握視圖應用的方法和技巧

二、實驗內(nèi)容

  1. 通過實例掌握存儲過程和函數(shù)的創(chuàng)建和使用,步驟如下:

①創(chuàng)建一個名稱為sch的數(shù)據(jù)表,表結(jié)構(gòu)如下所示,將下面sch表內(nèi)容中的數(shù)據(jù)插入到sch表中

sch表結(jié)構(gòu)

字段名

數(shù)據(jù)類型

主鍵

外鍵

非空

唯一

自增

id

INT(11)

name

VARCHAR(50)

glass

VARCHAR(50)

sch表內(nèi)容

id

name

glass

1

xiaoming

glass1

2

xiaojun

glass2

②創(chuàng)建一個存儲函數(shù),用來統(tǒng)計表sch中的記錄數(shù)

③創(chuàng)建一個存儲過程,通過調(diào)用存儲函數(shù)的方法來獲取表sch中的記錄數(shù)和sch表中id的和

  1. 掌握視圖的創(chuàng)建、查詢、更新和刪除操作。

假如HenanHebei的3個學生參加Tsinghua University、Peking University的自學考試,現(xiàn)在需要用數(shù)據(jù)對其考試的結(jié)果進行查詢和管理,Tsinghua University的分數(shù)線為40,Peking University的分數(shù)線為41。學生表包含了學生的學號、姓名、家庭住址和電話號碼;報名表包含學號、姓名、所在學校和報名的學校,表結(jié)構(gòu)以及表中的內(nèi)容分別如下列各表所示。

stu表結(jié)構(gòu)

字段名

數(shù)據(jù)類型

主鍵

外鍵

非空

唯一

自增

s_id

INT

s_name

VARCHAR(20)

addr

VARCHAR(50)

tel

VARCHAR(50)

sign表結(jié)構(gòu)

字段名

數(shù)據(jù)類型

主鍵

外鍵

非空

唯一

自增

s_id

INT

s_name

VARCHAR(20)

s_sch

VARCHAR(50)

s_sign_sch

VARCHAR(50)

stu_mark表結(jié)構(gòu)

字段名

數(shù)據(jù)類型

主鍵

外鍵

非空

唯一

自增

s_id

INT

s_name

VARCHAR(20)

mark

INT

stu表內(nèi)容

s_id

s_name

addr

tel

1

XiaoWang

Henan

0371-12345678

2

XiaoLi

Hebei

1336312XXXX

3

XiaoTian

Henan

0371-12345670

sign表內(nèi)容

s_id

s_name

s_sch

s_sign_sch

1

XiaoWang

Middle School1

Peking University

2

XiaoLi

Middle School2

Tsinghua University

3

XiaoTian

Middle School3

Tsinghua University

stu_mark表內(nèi)容

s_id

s_name

mark

1

XiaoWang

80

2

XiaoLi

71

3

XiaoTian

70

步驟如下:

①創(chuàng)建學生表stu,插入3條記錄

②創(chuàng)建報名表sign,插入3條記錄

③創(chuàng)建成績表stu_mark,插入3條記錄

④創(chuàng)建考上Peking University的學生的視圖

⑤創(chuàng)建考上Tsinghua University的學生的視圖

⑥XiaoTian的成績在錄入的時候錄入錯誤,多錄了50分,對其錄入成績進行更正

⑦查看更新過后視圖和表的情況

⑧查看視圖的創(chuàng)建信息

⑨刪除創(chuàng)建的視圖

1.1

 create table sch(id int(11) primary key not null unique,name varchar(50) not null,glass varchar(50) not null);

MySQL:存儲過程與函數(shù)、視圖

?1.2

 insert into sch (id,name,glass)values(1,'xiaoming','glass1'),(2,'xiaojun','glass2');

MySQL:存儲過程與函數(shù)、視圖

?1.3

create function count_sch()
returns int reads sql data
return (select count(*) from sch);

MySQL:存儲過程與函數(shù)、視圖

?1.4

delimiter

create procedure add_id(out count int)
begin declare itmp int;
declare cur_id cursor for select id from sch;
declare exit handler for not found close cur_id;
select count_sch() into count;
set @sum=0;
open cur_id;
repeat
fetch cur_id into itmp;
if itmp < 10
then set @sum = @sum + itmp;
end if;
until 0 end repeat;
close cur_id;
end //

delimiter ;
call add_id(@a);

MySQL:存儲過程與函數(shù)、視圖

?2.1

 create table stu(s_id int primary key not null unique,s_name varchar(20) not null,addr varchar(50) not null,tel varchar(50) not null);

MySQL:存儲過程與函數(shù)、視圖

?2.2

insert into stu (s_id,s_name,addr,tel)values
(1,'XiaoWang','Henan','0371-12345678'),
(2,'XiaoLi','Hebei','1336312xxxx'),
(3,'XiaoTian','Henan','0371-12345670');

?MySQL:存儲過程與函數(shù)、視圖

?2.3

create table sign(s_id int primary key not null unique,s_name varchar(20) not null,s_sch varchar(50) not null,s_sign_sch varchar(50) not null);

MySQL:存儲過程與函數(shù)、視圖

2.4?

 insert into sign (s_id,s_name,s_sch,s_sign_sch)values
(1,'XiaoWang','Middle School1','Peking University'),
(2,'XiaoLi','Middle School2','Tsinghua University'),
(3,'XiaoTian','Middle School3','Tsinghua University');

MySQL:存儲過程與函數(shù)、視圖

?2.5

 create table stu_mark(s_id int primary key not null unique,s_name varchar(20) not null,mark int not null);

?MySQL:存儲過程與函數(shù)、視圖

?2.6

insert into stu_mark (s_id,s_name,mark)values
(1,'XiaoWang',80),
(2,'XiaoLi',71),
(3,'XiaoTian',70);

?MySQL:存儲過程與函數(shù)、視圖

?2.7

create view beida(id,name,addr,tel,s_sch,mark,sign_sch) as
select stu_mark.s_id,stu_mark.s_name,stu.addr,stu.tel,sign.s_sch,stu_mark.mark,sign.s_sign_sch
from stu_mark,sign,stu
where stu_mark.s_id=sign.s_id and stu.s_id=stu_mark.s_id
and sign.s_sign_sch='Peking University';

MySQL:存儲過程與函數(shù)、視圖

?2.8

create view qinghua(id,name,addr,tel,s_sch,mark,sign_sch) as
select stu_mark.s_id,stu_mark.s_name,stu.addr,stu.tel,sign.s_sch,stu_mark.mark,sign.s_sign_sch
from stu_mark,sign,stu
where stu_mark.s_id=sign.s_id and stu.s_id=stu_mark.s_id
and sign.s_sign_sch='Tsinghua University';

?MySQL:存儲過程與函數(shù)、視圖

?2.9

 update stu_mark set mark=mark-50 where s_name='XiaoTian';

MySQL:存儲過程與函數(shù)、視圖

?2.10

show create view qinghua;
show create view beida;

?MySQL:存儲過程與函數(shù)、視圖

2.11?

drop view beida;
drop view qinghua;

?文章來源地址http://www.zghlxwxcb.cn/news/detail-446015.html

到了這里,關(guān)于MySQL:存儲過程與函數(shù)、視圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • MySQL函數(shù)、視圖、存儲過程及觸發(fā)器

    MySQL函數(shù)、視圖、存儲過程及觸發(fā)器

    MySQL在我們工作中都會用到,那么我們最常接觸的就是增刪改查,而對于增刪改查來說,我們更多的是查詢。但是面試中,面試官又不會問你什么查詢是怎么寫的,都是問一些索引啊,事務啊, 底層結(jié)構(gòu)這些東西,所以我打算分四篇去逐一的過一遍MySQL的知識點。 以下為四篇

    2023年04月09日
    瀏覽(89)
  • 【MySQL速通篇003】MySQL視圖,MySQL觸發(fā)器,MySQL函數(shù),MySQL存儲過程(參數(shù)分類,存儲過程的增刪改查等),SQL的動態(tài)執(zhí)行,支持事務的存儲過程,pymysql

    【MySQL速通篇003】MySQL視圖,MySQL觸發(fā)器,MySQL函數(shù),MySQL存儲過程(參數(shù)分類,存儲過程的增刪改查等),SQL的動態(tài)執(zhí)行,支持事務的存儲過程,pymysql

    這篇萬字博客主要包括了我對: MySQL視圖,MySQL觸發(fā)器,MySQL函數(shù),MySQL存儲過程(參數(shù)分類,存儲過程的增刪改查等),SQL的動態(tài)執(zhí)行,支持事務的存儲過程,pymysql等的總結(jié),可謂非常的詳細?? 文章畢竟這么長,對于文章中的一些語法,概念,例子等錯誤,歡迎并感謝各位讀

    2023年04月27日
    瀏覽(93)
  • MySQL之視圖,觸發(fā)器與存儲過程

    MySQL之視圖,觸發(fā)器與存儲過程

    視圖是一個虛擬表(非真實存在),其本質(zhì)是【根據(jù)SQL語句獲取動態(tài)的數(shù)據(jù)集,并為其命名】,用戶使用時只需使用【名稱】即可獲取結(jié)果集,可以將該結(jié)果集當做表來使用。 使用視圖我們可以把查詢過程中的臨時表摘出來,用視圖去實現(xiàn),這樣以后再想操作該臨時表的數(shù)據(jù)

    2024年02月08日
    瀏覽(87)
  • mysql高級語句之視圖、連接查詢與存儲過程

    目錄 視圖 視圖和表的區(qū)別 視圖和表的聯(lián)系 視圖命令 視圖特點 NULL 值 null、空值和零的區(qū)別 連接查詢 內(nèi)連接 左連接 右連接 存儲過程 概述 簡介 存儲過程的優(yōu)點 語法 調(diào)用存儲過程 存儲過程的參數(shù) 查看存儲過程 查看指定存儲過程信息 修改存儲過程 刪除存儲過程 數(shù)據(jù)庫中

    2024年02月10日
    瀏覽(29)
  • SQL Server判斷數(shù)據(jù)庫、表、列、視圖、存儲過程、函數(shù)是否存在

    在寫一些業(yè)務邏輯相對復雜點的存儲過程的時候,經(jīng)常會用到臨時表或者數(shù)據(jù)表作為臨時結(jié)果的保存。但每次在作表是否存在的判斷時,往往想不起完整的SQL寫法。因此,記錄一些常用的數(shù)據(jù)庫對象是否存在的判斷方法,可以達到快速查找的目的。正是:好記性不如爛筆頭。

    2024年02月02日
    瀏覽(514)
  • Mysql 存儲過程 / 存儲函數(shù)

    Mysql 存儲過程 / 存儲函數(shù)

    目錄 0 課程視頻 1 基本語法 1.0 作用 -在數(shù)據(jù)庫中 封裝sql語句 - 復用 - 減少網(wǎng)絡(luò)交互 -可接收參數(shù)返回數(shù)據(jù) 1.1 創(chuàng)建 1.2 調(diào)用 1.3 查看 1.4 刪除 1.5 ; 封號結(jié)束符 改成 $$ 雙刀符合結(jié)束語句 - 因為打包封號結(jié)束有沖突 1.6 在cmd 中定義 存儲過程 打包的事務 - 打包完 可以改回 封號 ?

    2024年02月01日
    瀏覽(25)
  • MySQL——存儲過程與存儲函數(shù)

    MySQL從 5.0版本 開始支持 存儲過程 和 存儲函數(shù) 。存儲過程和函數(shù)能夠?qū)碗s的SQL邏輯封裝在一起,應用程序無須關(guān)注存儲過程和函數(shù)內(nèi)部復雜的SQL邏輯,而只需要簡單地調(diào)用存儲過程和函數(shù)即可。 1.1 理解 含義 :存儲過程的英文是 Stored Procedure 。它的思想很簡單,就是一組

    2024年02月10日
    瀏覽(21)
  • MySQL之存儲過程和存儲函數(shù)

    MySQL之存儲過程和存儲函數(shù)

    能夠?qū)⑼瓿商囟üδ艿腟QL指令進行封裝(SQL指令集),編譯之后存儲在數(shù)據(jù)庫服務器上,并且為之取一個名字,客戶端可以通過名字直接調(diào)用這個SQL指令集,獲取執(zhí)行結(jié)果。 2.1 優(yōu)點 (1)SQL指令無需經(jīng)客戶端編寫通過網(wǎng)絡(luò)傳送,可以節(jié)省網(wǎng)絡(luò)開銷,同時避免使用SQL指令在網(wǎng)絡(luò)傳

    2024年02月05日
    瀏覽(21)
  • MySQL存儲函數(shù)與存儲過程習題

    MySQL存儲函數(shù)與存儲過程習題

    創(chuàng)建表并插入數(shù)據(jù): 1、創(chuàng)建一個可以統(tǒng)計表格內(nèi)記錄條數(shù)的存儲函數(shù) ,函數(shù)名為count_sch() 先創(chuàng)建一個表并插入一些數(shù)據(jù): mysql d // mysql create function count_sch() - returns int - begin - declare i int default 0; - select count(*) into i from sch; - return i; - end // Query OK, 0 rows affected (0.00 sec) mysql sel

    2024年01月19日
    瀏覽(19)
  • 存儲過程、觸發(fā)器、游標、視圖、自定義函數(shù) 字段類型、字段可空、統(tǒng)計字段、邏輯刪除 權(quán)限系統(tǒng)數(shù)據(jù)庫&無限極類別設(shè)計

    在數(shù)據(jù)庫設(shè)計中,存儲過程、觸發(fā)器、游標、視圖、自定義函數(shù)、字段類型、字段可空、統(tǒng)計字段、邏輯刪除以及權(quán)限系統(tǒng)和無限級類別設(shè)計都是重要的概念。下面我將逐一解釋這些概念,并提供相關(guān)的設(shè)計建議。 存儲過程 (Stored Procedure) 定義 :存儲過程是一組為了完成特定

    2024年03月09日
    瀏覽(102)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包