1、创建一个学生表、教师表
CREATE TABLE `student` ( `studentID` int(11) NOT NULL AUTO_INCREMENT COMMENT '学生ID', `teacherID` int(11) NOT NULL COMMENT '教师ID', `studentName` varchar(25) NOT NULL COMMENT '学生姓名', `studentAge` int(2) NOT NULL COMMENT '学生年龄', PRIMARY KEY (`studentID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `teacher` ( `teacherID` int(11) NOT NULL AUTO_INCREMENT COMMENT '教师ID', `teacherName` varchar(25) NOT NULL COMMENT '教师姓名', `teacherAge` int(2) NOT NULL COMMENT '教师年龄', PRIMARY KEY (`teacherID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2、向表中插入数据
3、创建视图
CREATE VIEW `student_teacher` AS SELECT s.studentName, t.teacherName FROM student s, teacher t where s.teacherID = t.teacherID
4、使用视图
select * from student_teacher
5、创建存储过程——每一次执行该过程,都向s_t表中插入所有的学生、教师信息
首先创建s_t表
CREATE TABLE `s_t` ( `s_t_ID` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', `studentID` int(11) NOT NULL COMMENT '学生ID', `studentName` varchar(25) NOT NULL COMMENT '学生姓名', `studentAge` int(2) NOT NULL COMMENT '学生年龄', `teacherID` int(11) NOT NULL COMMENT '教师ID', `teacherName` varchar(25) NOT NULL COMMENT '教师姓名', `teacherAge` int(2) NOT NULL COMMENT '教师年龄', PRIMARY KEY (`s_t_ID`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
创建存储过程
BEGIN /*定义变量 开始*/ DECLARE v_no_more INT DEFAULT 0; DECLARE v_error INT DEFAULT 0; DECLARE v_studentID INT DEFAULT 0; DECLARE v_studentName VARCHAR(25) DEFAULT ""; DECLARE v_studentAge INT DEFAULT 0; DECLARE v_teacherID INT DEFAULT 0; DECLARE v_teacherName VARCHAR(25) DEFAULT ""; DECLARE v_teacherAge INT DEFAULT 0; /*定义变量 结束*/ DECLARE cur_s_t CURSOR FOR SELECT s.studentID, s.studentName, s.studentAge, t.teacherID, t.teacherName, t.teacherAge FROM student s INNER JOIN teacher t WHERE s.teacherID = t.teacherID; DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_no_more = 1; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET v_error = 1; -- 开启事务 OPEN cur_s_t; FETCH cur_s_t INTO v_studentID,v_studentName,v_studentAge,v_teacherID,v_teacherName,v_teacherAge; WHILE v_no_more != 1 DO INSERT INTO s_t (studentID,studentName,studentAge,teacherID,teacherName,teacherAge) VALUES (v_studentID,v_studentName,v_studentAge,v_teacherID,v_teacherName,v_teacherAge); FETCH cur_s_t INTO v_studentID,v_studentName,v_studentAge,v_teacherID,v_teacherName,v_teacherAge; END WHILE; CLOSE cur_s_t; -- 结束事务 -- 事务处理 IF v_error = 1 THEN ROLLBACK; ELSE COMMIT; END IF; END
相关推荐
MySQL期末复习资料主要涵盖数据库管理系统MySQL的基础知识,包括数据类型、数据库操作、SQL语句、存储程序、事务处理、锁机制以及引擎特性等方面。以下是这些知识点的详细解释: 1. **数据类型**:MySQL中的数据...
除此之外,还应熟悉数据的插入(INSERT)、查询(SELECT)、更新(UPDATE)和删除(DELETE)操作,以及索引的创建和使用,事务处理,视图,存储过程,触发器等高级特性。理解并熟练掌握这些内容,将为你的MySQL...
- `Create procedure`:创建存储过程的命令,存储过程是为执行特定操作而编写的SQL代码。 6. 用户权限管理 - `GRANT ALL PRIVILEGES ON * TO test@%;`:这是一个SQL命令,用于给用户test授予所有权限,可以对任意...
MySQL是一种关系型数据库管理系统,广泛应用于Web开发、数据存储和分析等领域。本文总结了MySQL数据库管理系统的相关知识点,包括表管理、视图、索引、外键、触发器等。 表管理 在 MySQL 中,表是存储数据的基本...
6. **视图与存储过程**:讨论视图的创建与使用,以及存储过程的概念,如何编写和调用存储过程,提高代码复用和安全性。 7. **触发器与事件调度器**:学习如何使用触发器来实现数据的自动更新和验证,以及利用事件...
以下是对MySQL复习资料中的关键知识点的详细解释: 1. **创建数据库**:使用`CREATE DATABASE`语句来创建数据库,同时需要考虑选择合适的存储引擎,如InnoDB(支持事务处理和外键)或MyISAM(不支持事务,但读取...
本资源旨在对mysql的基础知识进行总结和复习,涵盖了mysql的基本概念、数据类型、SQL语句、索引、视图、事务处理、全文本搜索等方面的知识。 一、基本概念 mysql是一个开源的关系型数据库管理系统,支持多种编程...
在本复习资料中,我们将深入探讨MySQL的核心概念、语法、管理和优化等方面,以帮助你全面掌握这一重要的数据库技术。 一、MySQL基础 1. 数据库与表:MySQL中的数据库是数据的集合,而表则是存储数据的结构。创建、...
这份"MYSQL考试复习资料.zip"压缩包很可能是为了帮助考生准备MySQL相关的认证考试,如MySQL Certified Developer或MySQL Certified Administrator等。下面我们将深入探讨MySQL的一些核心概念和重要知识点。 1. ...
### MySQL练习复习最佳帮手知识点解析 #### 一、数据库概述 **1.1 数据存储方式** - **文件系统**:传统的数据管理方法之一,通过操作系统提供的文件管理功能来保存和检索数据。 - **数据库系统**:现代数据管理的...
### MySQL必知必会复习笔记 #### 一、基本概念 在MySQL的学习过程中,了解基本概念是基础中的基础。这包括但不限于数据类型的选择、表结构的设计等。 1. **数据类型**:MySQL提供了多种数据类型,如整型、浮点型...
8. **视图与存储过程的安全性**:掌握视图的创建和使用,理解权限系统,包括GRANT和REVOKE命令,以及用户账户管理。 9. **备份与恢复**:熟悉mysqldump、mysqlpump工具进行全量和增量备份,以及如何使用XtraBackup...
MySQL支持多种存储引擎,如InnoDB(支持事务处理和外键)、MyISAM(读写速度快,不支持事务)、MEMORY(数据存储在内存中)等。选择合适的存储引擎能优化数据库的读写效率和并发性能。 6. **事务处理**: InnoDB...
【MySQL数据库核心知识点】 ...这些知识点涵盖了MySQL数据库的基础和进阶概念,对于准备数据库笔试或面试的人员来说是非常重要的复习内容。理解并掌握这些知识点,能够有效提升在实际工作中处理数据库问题的能力。
这份笔记可能包含了从基础概念到高级特性的全面讲解,包括但不限于SQL语言、数据类型、数据库设计、索引、事务处理、视图、存储过程和触发器等。 1. SQL语言基础:SQL是Structured Query Language的缩写,是用于...
在本资源中,我们学习了 MySQL 数据库的设计、创建表、插入数据、基本查询、索引和约束、正则查询、视图和存储过程、数据库安全等知识点。这些知识点是 MySQL 数据库开发的基础,对于后续的学习和开发具有重要的意义...
以下是对"MySQL+复习笔记+基础部分"所涵盖的知识点的详细解释: 1. **数据库概述**: - 数据库是一种组织和存储数据的系统,它提供了数据的结构化、安全性和可访问性。MySQL是一个开源、免费的SQL数据库,具有高...
mysql基础学习的知识点总结大纲edf电子笔记版。包括数据库mysql的简介、DQl语言、DMl语言、DDl语言、TCl语言以及视图、变量、存储过程和函数、流程控制结构一系类的总结
MySQL是世界上最流行的关系型数据库管理系统之一,用于存储、管理和处理数据。在期末复习时,理解以下几个关键知识点至关重要: 1. **数据库(Database)**:数据库是按照特定数据结构组织、存储和管理数据的集合,...