MySQL創建存儲過程函數

DDL

CREATE TABLE `student` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '學號',`createDate` datetime DEFAULT NULL,`userName` varchar(20) DEFAULT NULL,`pwd` varchar(36) DEFAULT NULL,`phone` varchar(11) DEFAULT NULL,`age` tinyint(3) unsigned DEFAULT NULL,`sex` char(2) DEFAULT '男',`introduce` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;CREATE TABLE `result` (`rid` int(11) NOT NULL AUTO_INCREMENT COMMENT '成績編號',`testName` varchar(255) DEFAULT NULL COMMENT '測試名稱',`score` double(4,2) DEFAULT NULL COMMENT '成績',`studentId` int(11) DEFAULT NULL COMMENT '學生id',PRIMARY KEY (`rid`),KEY `studentId` (`studentId`),CONSTRAINT `result_ibfk_1` FOREIGN KEY (`studentId`) REFERENCES `student` (`id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

DML

insert into student values(0,'2024-02-25 10:10:10','趙靈兒','123',
'15612345678',16,'女','逍遙哥哥,你終于找到我了。');
insert into student values(0,'2024-02-25 10:10:10','王語嫣','123',
'15612345678',17,'女','慕容復,我和你不共戴天。');
insert into student values(0,'2024-02-25 10:10:10','龍姑娘','123',
'15612345678',22,'女','我想過過過兒過過的日子。');
insert into student values(0,'2024-02-25 10:10:10','楊過','123',
'15612345678',18,'男','一遇楊過誤終身。');
insert into student values(0,'2024-02-25 10:10:10','楊逍','123',
'15612345678',27,'男','楊過跟程英的大兒子。');
insert into student (userName,age,introduce)values('黃衣女子',26,'楊過與龍姑娘的大女兒。');insert into result values(0,'政治',96,1);
insert into result values(0,'地理',86,5);
insert into result values(0,'政治',77,3);
insert into result values(0,'英語',99,3);
insert into result values(0,'歷史',22,6);
insert into result values(0,'化學',69,2);
insert into result values(0,'Java',79,5);
insert into result values(0,'Java',67,6);
insert into result values(0,'政治',97,2);
insert into result values(0,'物理',76,6);
insert into result values(0,'物理',82,2);
insert into result values(0,'化學',56,4);

無參數?

# MySQL創建存儲過程函數delimiter $$
# 聲明一個名稱為get_student_introduce
create procedure get_student_introduce()
#開始操作
begin
# 撰寫真正在操作DML+DQL都行
set @userName='龍姑娘';
select introduce '簡介' from student where userName=@userName;
end $$
delimiter;
# 使用函數(調用存儲過程)
call get_student_introduce

含參數

# MySQL創建存儲過程函數delimiter $$
# 聲明一個名稱為get_student_introduce
create procedure get_student_introduce1(in p_name varchar(20))
#開始操作
begin
# 撰寫真正在操作DML+DQL都行
select introduce '簡介' from student where userName=p_name;
end $$
delimiter;
# 使用函數(調用存儲過程)
call get_student_introduce1('王語嫣');

修改,刪除語句

# MySQL創建存儲過程函數
# 存儲過程使用大綱,有參數傳遞
delimiter $$
# 聲明一個名稱為get_student_introduce
create procedure update_student_id(in p_userName varchar(20),in p_phone varchar(11),p_sex char(2),p_introduce varchar(255))
#開始操作
begin
# 撰寫真正在操作DML+DQL都行
# insert into student (userName,phone,sex,introduce) values (p_userName,p_phone,p_sex,p_introduce);
# update student set introduce=p_introduce where userName=p_userName;
delete from student where id=p_id;
end $$
delimiter;
# 使用函數(調用存儲過程)
call update_student_id('邢昊陽','13031553562','男','神');
select * from student where userName='邢昊陽';

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/11230.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/11230.shtml
英文地址,請注明出處:http://en.pswp.cn/web/11230.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[初學rust] 05_ rust struct

rust struct 其實這也算復合類型,但是其他語言都有,所以抽取出來單獨看的時候會很簡單,更容易學 1. 定義結構體 結構體的定義和其他語言沒啥區別。 struct User {name: String,age: i32, }2. 創建實例 創建實例的過程就跟js類似 let us…

【3dmax筆記】021:對齊工具(快速對齊、法線對齊、對齊攝影機)

文章目錄 一、對齊二、快速對齊三、法線對齊四、對齊攝影機五、注意事項3dmax提供了對齊、快速對齊、法線對齊和對齊攝像機等對齊工具: 對齊工具選項: 下面進行一一講解。 一、對齊 快捷鍵為Alt+A,將當前選擇對象與目標對象進行對齊。 最大對最大:

【小筆記】neo4j用load csv指令導入數據

【小筆記】neo4j用load csv指令導入數據 背景 很久沒有用load CSV的方式導入過數據了因為它每次導入有數量限制(印象中是1K還是1W),在企業中構建的圖譜往往都是大規模的,此時通常采用的是Neo4j-admin import方式。最近遇到了一些…

振弦式表面應變計怎么安裝

振弦式表面應變計是一種用于測量結構表面應變的高精度傳感器,廣泛應用于工程和科研領域。正確安裝振弦式表面應變計對于確保測量結果的準確性至關重要。以下是安裝振弦式表面應變計的步驟和注意事項: 1. 準備工作 在開始安裝前,需要準備以下工…

whisper之初步使用記錄

文章目錄 前言 一、whisper是什么? 二、使用步驟 1.安裝 2.python調用 3.識別效果評估 4.一點封裝 5.參考鏈接 總結 前言 隨著AI大模型的不斷發展,語音識別等周邊內容也再次引發關注,通過語音轉文字再與大模型交互,從而…

【Gitlab遠程訪問本地倉庫】Gitlab如何安裝配置并結合內網穿透實現遠程訪問本地倉庫進行管理

文章目錄 前言1. 下載Gitlab2. 安裝Gitlab3. 啟動Gitlab4. 安裝cpolar5. 創建隧道配置訪問地址6. 固定GitLab訪問地址6.1 保留二級子域名6.2 配置二級子域名 7. 測試訪問二級子域名 前言 GitLab 是一個用于倉庫管理系統的開源項目,使用Git作為代碼管理工具&#xf…

為什么質量工程師必學六西格瑪?突破職業發展的瓶頸?

在質量管理領域工作多年,你是否曾感受到事業發展的停滯不前?3年、5年的職業生涯,薪水依舊停留在每月5000-7000,而同行業的其他人卻能月入2-3萬,這種差距讓人不禁陷入深思。 問題究竟出在哪里?為什么我們的…

編譯OpenResty遇到找不到OpenSSL的解決辦法

以OpenResty-1.19.9.1為例 編輯openresty-1.19.9.1/build/nginx-1.19.9/auto/lib/openssl/conf CORE_INCS"$CORE_INCS $OPENSSL/.openssl/include" CORE_DEPS"$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h" CORE_LIBS"$CORE_LIBS $OPENSSL/.…

揭秘圖形編程 動靜接口如何助力 AGV 集成

在公司軟件開發團隊的辦公室里,陽光透過窗戶灑在排列整齊的辦公桌上。臥龍坐在辦公桌前,面前攤開一份內測報告,他的手指時不時地敲擊著桌面,流露出內心的煩躁。他抬起頭,眼神中透露出一絲困惑,看向正在文件…

調用函數實現數組的輸入排序插入與輸出

輸入一串數字,輸出排序插入后輸出最后的數字序列; 把主要步驟交給主函數,通過調用函數來實現整體的功能: 寫出主函數(這里使用冒泡排序): int main(){int n;int a[10];cin>>n;inputa(a…

【網絡安全】【Frida實踐案例】某圖xx付費功能逆向分析(一)

文章目錄 一、目標應用二、環境三、步驟1、查看布局id2、用到的Log日志類信息3、嘗試hook VIP判斷方法 四、總結五、相關源碼 1、文章僅供學習參考,嚴禁非法使用!如非法使用,而導致的一切后果,由使用者自負! 2、禁止將…

【C++】string類常用函數用法總結

目錄 常用函數一覽 默認成員函數 與容量有關的函數 part 1 part 2 part 3 與訪問和遍歷有關的函數 與修改有關的函數 npos 與string相關的其它常用函數 常用非成員函數 getline和cin的區別 常用函數一覽 //默認成員函數 string();string(const char* s);string(si…

貓狗分類識別②圖像歸一化-位置和重心歸一化處理

一、導入庫 glob 和 os 都是Python的標準庫模塊,也就是說它們隨Python一起安裝,無需額外安裝即可使用。 glob 模塊提供了一個在目錄中使用通配符搜索創建文件列表的函數,例如,可以使用 glob.glob(*.txt) 來查找當前目錄下所有的…

Android OpenMAX(七)OMX Service

上一篇文章我們分析了Android使用OMXStore來管理平臺上的軟件和硬件編解碼組件,這一篇我們再向上一層了解應用層是如何獲取調用OMXStore管理組件的。本篇文章代碼參考自: frameworks/av/services/mediacodec/main_codecservice.cpp frameworks/av/media/libstagefright/omx/1…

Mybatis Plus ActiveRecord 模式

Mybatis Plus ActiveRecord 模式 使用 DEMO源碼地址 https://gitee.com/JackSong2019/demo-mybatis3.git 前言 ActiveRecord 模式 簡介 ActiveRecord 是一種設計模式,它是一種在軟件開發中用于管理關系數據庫的模式,他簡化了數據庫操作的流程&#xf…

docker八大架構之應用服務集群架構

應用服務集群架構 在之前,一個應用層要負責所有的用戶操作,但是有時用戶增加后就會導致供不應求的現象(單個應用不足以支持海量的并發請求,高并發的時候站點響應變慢),這時就需要增加應用層服務器&#xf…

【STM32 |GPIO】GPIO結構、GPIO輸出

目錄 GPIO簡介 GPIO的基本結構 GPIO位結構(每一位的具體電路結構) 輸入 上拉和下拉電阻 斯密特觸發器 ?編輯 輸出 GPIO模式 ?編輯 浮空輸入、上拉輸入、下拉輸入 模擬輸入 開漏輸出和推挽輸出 復用開漏輸出和復用推挽輸出 LED和蜂鳴器…

簡述線程同步和線程通信及如何實現線程間的同步

一、線程同步和線程通信是多線程編程中的兩個重要概念。 線程同步: 線程同步是指當有一個線程在對內存進行操作時(如讀取、寫入等),其他線程都不可以對該內存地址進行操作,直到該線程完成操作,其他線程才…

FFmpeg開發筆記(二十七)APP無法訪問ZLMediaKit的HLS直播地址

上一篇文章介紹了如何通過ZLMediaKit實現視頻推拉流,并使用VLC播放器驗證視頻直播地址。即使不用VLC播放器,直接在Qt工程的C代碼中調用FFmpeg的API,也能訪問ZLMediaKit的直播地址,并正常渲染視頻畫面。關于如何在Qt工程中引入FFmp…

【資源分享】完勝谷歌翻譯的Deepl翻譯

::: block-1 “時問桫欏”是一個致力于為本科生到研究生教育階段提供幫助的不太正式的公眾號。我們旨在在大家感到困惑、痛苦或面臨困難時伸出援手。通過總結廣大研究生的經驗,幫助大家盡早適應研究生生活,盡快了解科研的本質。祝一切順利!—…