国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL存儲過程中使用動態行轉列

2024-07-24 12:45:12
字體:
來源:轉載
供稿:網友

本文介紹的實例成功的實現了動態行轉列。下面我以一個簡單的數據庫為例子,說明一下。

數據表結構

這里我用一個比較簡單的例子來說明,也是行轉列的經典例子,就是學生的成績
三張表:學生表、課程表、成績表

學生表
就簡單一點,學生學號、學生姓名兩個字段

CREATE TABLE `student` ( `stuid` VARCHAR(16) NOT NULL COMMENT '學號', `stunm` VARCHAR(20) NOT NULL COMMENT '學生姓名', PRIMARY KEY (`stuid`))COLLATE='utf8_general_ci'ENGINE=InnoDB;

課程表
課程編號、課程名

CREATE TABLE `courses` ( `courseno` VARCHAR(20) NOT NULL, `coursenm` VARCHAR(100) NOT NULL, PRIMARY KEY (`courseno`))COMMENT='課程表'COLLATE='utf8_general_ci'ENGINE=InnoDB;

成績表
學生學號、課程號、成績

CREATE TABLE `score` ( `stuid` VARCHAR(16) NOT NULL, `courseno` VARCHAR(20) NOT NULL, `scores` FLOAT NULL DEFAULT NULL, PRIMARY KEY (`stuid`, `courseno`))COLLATE='utf8_general_ci'ENGINE=InnoDB;

以上就是數據庫表的結構了,這里沒有建立外鍵,但是根據表的結構,可以清楚的看到成績表中的學號和課程號是與學生表、課程表分別關聯起來的。

數據準備

/*學生表數據*/Insert Into student (stuid, stunm) Values('1001', '張三');Insert Into student (stuid, stunm) Values('1002', '李四');Insert Into student (stuid, stunm) Values('1003', '趙二');Insert Into student (stuid, stunm) Values('1004', '王五');Insert Into student (stuid, stunm) Values('1005', '劉青');Insert Into student (stuid, stunm) Values('1006', '周明');/*課程表數據*/Insert Into courses (courseno, coursenm) Values('C001', '大學語文');Insert Into courses (courseno, coursenm) Values('C002', '新視野英語');Insert Into courses (courseno, coursenm) Values('C003', '離散數學');Insert Into courses (courseno, coursenm) Values('C004', '概率論與數理統計');Insert Into courses (courseno, coursenm) Values('C005', '線性代數');Insert Into courses (courseno, coursenm) Values('C006', '高等數學(一)');Insert Into courses (courseno, coursenm) Values('C007', '高等數學(二)');/*成績表數據*/Insert Into score(stuid, courseno, scores) Values('1001', 'C001', 67);Insert Into score(stuid, courseno, scores) Values('1002', 'C001', 68);Insert Into score(stuid, courseno, scores) Values('1003', 'C001', 69);Insert Into score(stuid, courseno, scores) Values('1004', 'C001', 70);Insert Into score(stuid, courseno, scores) Values('1005', 'C001', 71);Insert Into score(stuid, courseno, scores) Values('1006', 'C001', 72);Insert Into score(stuid, courseno, scores) Values('1001', 'C002', 87);Insert Into score(stuid, courseno, scores) Values('1002', 'C002', 88);Insert Into score(stuid, courseno, scores) Values('1003', 'C002', 89);Insert Into score(stuid, courseno, scores) Values('1004', 'C002', 90);Insert Into score(stuid, courseno, scores) Values('1005', 'C002', 91);Insert Into score(stuid, courseno, scores) Values('1006', 'C002', 92);Insert Into score(stuid, courseno, scores) Values('1001', 'C003', 83);Insert Into score(stuid, courseno, scores) Values('1002', 'C003', 84);Insert Into score(stuid, courseno, scores) Values('1003', 'C003', 85);Insert Into score(stuid, courseno, scores) Values('1004', 'C003', 86);Insert Into score(stuid, courseno, scores) Values('1005', 'C003', 87);Insert Into score(stuid, courseno, scores) Values('1006', 'C003', 88);Insert Into score(stuid, courseno, scores) Values('1001', 'C004', 88);Insert Into score(stuid, courseno, scores) Values('1002', 'C004', 89);Insert Into score(stuid, courseno, scores) Values('1003', 'C004', 90);Insert Into score(stuid, courseno, scores) Values('1004', 'C004', 91);Insert Into score(stuid, courseno, scores) Values('1005', 'C004', 92);Insert Into score(stuid, courseno, scores) Values('1006', 'C004', 93);Insert Into score(stuid, courseno, scores) Values('1001', 'C005', 77);Insert Into score(stuid, courseno, scores) Values('1002', 'C005', 78);Insert Into score(stuid, courseno, scores) Values('1003', 'C005', 79);Insert Into score(stuid, courseno, scores) Values('1004', 'C005', 80);Insert Into score(stuid, courseno, scores) Values('1005', 'C005', 81);Insert Into score(stuid, courseno, scores) Values('1006', 'C005', 82);Insert Into score(stuid, courseno, scores) Values('1001', 'C006', 77);Insert Into score(stuid, courseno, scores) Values('1002', 'C006', 78);Insert Into score(stuid, courseno, scores) Values('1003', 'C006', 79);Insert Into score(stuid, courseno, scores) Values('1004', 'C006', 80);Insert Into score(stuid, courseno, scores) Values('1005', 'C006', 81);Insert Into score(stuid, courseno, scores) Values('1006', 'C006', 82);
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴海县| 玉环县| 双流县| 英吉沙县| 凤庆县| 黄浦区| 绥德县| 洛宁县| 玉树县| 马尔康县| 玉溪市| 图木舒克市| 镶黄旗| 比如县| 资兴市| 莱州市| 汝南县| 呼伦贝尔市| 南召县| 靖江市| 黄陵县| 桐乡市| 喀喇沁旗| 永福县| 四子王旗| 呼玛县| 夏津县| 乐山市| 思茅市| 蓝山县| 双城市| 平和县| 沙坪坝区| 合川市| 东乌珠穆沁旗| 那坡县| 大关县| 本溪| 赤峰市| 新郑市| 平阴县|