-- ---------------------MySQl进阶-------------------------------------
-- MySQL的存储过程
-- declare生命局部变量
delimiter //
CREATE PROCEDURE pro(IN myid INT);
BEGIN
DECLARE name VARCHAR(20);
SELECT id INTO myid FROM tab1 WHERE name="zhangran";
SELECT myid;
END
//
CALL pro(1);
//
-- 用set命令赋值
delimiter //
CREATE PROCEDURE pro(IN num1 INT,IN num2 INT);
DECLARE num INT;
SET num=num1+num2;
SELECT num;
END
//
-- 流程控制语句 IF
delimiter //
CREATE PROCEDURE pro(IN type VARCHAR(20));
IF type="a" THEN SELECT "a等级";
ELSEIF type="b" THEN SELECT "b等级";
ELSE SELECT "c等级";
END IF;
END
//
-- 流程控制语句 CASE
delimiter //
CREATE PROCEDURE pro(IN num INT);
BEGIN
CASE num
WHEN 1 THEN SELECT "1等级";
WHEN 2 THEN SELECT "2等级";
WHEN 3 THEN SELECT "3等级";
END CASE;
END
//
-- 循环语句之LOOP
delimiter //
CREATE PROCEDURE pro(IN num INT);
BEGIN
lable : LOOP
SET num=num+1;
IF num>10 THEN LEAVE lable;
END IF;
END LOOP;
SET @a=num;
END
//
CALL pro(2);
//
SELECT @a;
//
-- 循环之WHILE
delimiter //
CREATE PROCEDURE pro();
BEGIN
DECLARE num INT DEFAULT 0;
WHILE num<10 DO;
SET num=num+1;
END WHILE;
SELECT i;
END
//
-- 循环之REPEAT
-- 类似于do while循环,无论如何都是先执行一步的
delimiter //
CREATE PROCEDURE pro();
BEGIN
SET @num=0;
REPEAT @num=@num+1 UNTIL @num>10;
END REPEAT;
END
//
-- 查看存储过程的相关信息
-- 查看创建语法信息
show create procedure pro\G
--查看存储过程的特征
show procedure status;
-- 修改存储过程 用alter,这一部分掌握的不太全面!!!!!!!!!!!!!
alter procedure mypro
sql security invoker
-- 删除存储过程 用drop
DROP PROCEDURE IF EXISTS pro;
-- 触发器-------------------
-- MySQL5 开始计入了触发器技术
-- 触发器无参数
-- 同一个动作不能触发两次
delimiter //
CREATE TRIGGER myter
BEFORE INSERT
ON tab1
FOR EACH ROW
BEGIN
INSERT INTO tab2 SET name=NEW.name;
UPDATE tab3 SET name="newname" WHERE name=NEW.name;
END
//
-- 上面的触发器经过验证无任何错误!!!
-- 查看触发器
show triggers\G
-- 删除触发器
drop trigger myter;
-- 另外当前尚无法修改触发器,故只能删除重建的方式来更新
-- 游标--------------
-- 游标部分比较复杂,而且并不常用,以后再逐渐补充吧
-- 视图---
-- 视图是根据已经存在的表,经过一定的筛选所组成的,这样可以有选择的让用户看到或是修改部分数据不至于让数据完全曝光
-- 演示实例
create table user(id int not null,name varchar(20) not null,address varchar(50) not null,age int not null,tel varchar(11) not null);
-- 该表中的个人信息,名称,住址可以公开,但是年龄跟电话不愿意公开,可以建立一个视图
create view myview as select name,address from user;
select * from myview;
-- 这样就达到了目的
-- 查看视图的创建语法
show create view myview\G
-- 删除视图
drop view myview;
-- 差不多就这些吧,以后会慢慢补充的,还是记得有时间多回过头来看看
分享到:
相关推荐
通过以上内容的学习,你可以深入了解MySQL的核心概念、掌握基本和高级的数据库操作技能,并且能够运用这些知识来优化数据库性能和开发更高效的数据库应用。无论是对于初学者还是有一定经验的开发者来说,这些知识点...
本教程旨在帮助初学者快速掌握 MySQL 的基础知识,并深入了解一些进阶主题如存储过程、索引优化等。 首先,我们将介绍 MySQL 的基础概念,包括数据库、表、列等,帮助读者了解如何创建数据库和表格,并学习基本的 ...
这份文档涵盖了从基础到进阶的MySQL运维知识,旨在帮助读者全面理解和掌握MySQL的相关技能。 首先,基础篇主要涉及MySQL的基本语法和分类。DDL(Data Definition Language)用于创建和修改数据库对象,如表格、视图...
《腾讯云数据库MySQL超速入门进阶课程》是一门针对MySQL爱好者精心设计的教程,旨在帮助初学者快速掌握MySQL的基础知识并逐步提升至进阶水平。本教程共分为六个章节,内容涵盖广泛,旨在使学习者能全面了解并熟练...
- **InnoDB引擎详解**:深入探讨MySQL中最常用的存储引擎之一——InnoDB的特点及其使用技巧。 - **备份与恢复**:介绍MySQL的备份策略及恢复流程。 - **性能监控与调优**:教授如何使用MySQL自带的工具进行性能监控...
通过学习这些知识点,不仅可以帮助初学者快速掌握MySQL的基本操作,还能让有一定经验的开发者进一步提高自己的技能水平。无论是对于个人学习还是企业级项目开发来说,熟练掌握MySQL都是非常有益的。希望本篇总结能够...
这个"MySQL入门+进阶资源合集"包含了一系列的学习资料,旨在帮助初学者快速掌握MySQL的基础,并进一步提升到高级应用水平。 首先,从入门的角度,MySQL的基本概念是理解其核心的关键。这包括了解什么是数据库、表、...
为了在求职面试中脱颖而出,了解并掌握MySQL的基础知识以及进阶技巧至关重要。本复习秘籍旨在帮助新手快速入门,解决编写SQL语句时遇到的问题,并为面试做好充分准备。 1. **SQL基础** - 数据类型:理解整数...
### MySQL教程:基础与进阶知识点详解 #### 一、MySQL简介 MySQL是一种关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。它以其高性能、高可靠性和易用性而闻名,在Web应用中得到了广泛的应用...
作者辛星在编写教程的过程中投入了大量心血,包括内容的梳理、截图的制作等,目的就是为了让读者能够在学习MySQL的过程中更加快速和有效地掌握知识,获得技能的提升。此外,作者还提供了个人邮箱和博客地址供读者...
### MySQL进阶修行学习知识点概览 #### 一、存储引擎 MySQL的存储引擎是其核心组成部分之一,不同的存储引擎提供了不同的存储机制、索引技术和数据处理能力。 1. **体系结构** - 存储引擎是MySQL的核心组件,负责...
通过以上介绍,可以看出《冬季实战营第三期:MySQL数据库进阶实战》不仅涵盖了 MySQL 数据库的基础知识,还深入探讨了在云环境中部署和管理 MySQL 的方法。对于希望深入学习 MySQL 数据库管理和云技术的开发者来说,...
《MySQL高性能高清版》是一本专门针对MySQL数据库系统进行深入探讨和优化的进阶书籍,适合已经对MySQL有基础理解并希望提升至更高层次的读者。本书内容全面,旨在帮助读者掌握如何在实际环境中实现MySQL的高效运行和...
MySQL数据库是世界上最受欢迎的关系型数据库管理系统之一,广泛应用于各种规模的企业和项目中。这份"MySQL数据库入门到高级笔记快速学习pdf版本"提供了从基础到高级的全面教程,适合不同水平的学习者。以下将详细...
MySQL的存储引擎是其核心特色之一,允许用户根据需求选择最适合的引擎。例如,InnoDB是默认引擎,提供事务处理、行级锁定和外键支持,适用于需要高度一致性和并发性的应用。MyISAM引擎则以快速读取和较小的内存占用...
MySQL的SELECT语句是SQL语言的...理解并掌握这些进阶SELECT语法,对于优化MySQL查询性能和编写高效SQL语句至关重要。在实际工作中,根据不同的查询需求和数据特性,灵活运用这些特性,能极大地提高数据库操作的效率。
MySQL 数据库快速部署实践...MySQL 是一个功能强大且广泛应用的关系型数据库管理系统,本资源摘要信息对 MySQL 的安装、配置、基本操作和安全设置等方面进行了详细的讲解,旨在帮助学习者快速掌握 MySQL 的使用和配置。
MySQL是世界上最流行的开源关系型数据库管理系统之一,广泛应用于各种规模的应用场景。在面试中,深入理解和掌握MySQL的核心概念和技术是至关重要的。以下是一些关键知识点的详细解释: 1. **ACID特性**: - 原子...
总之,《Node.js进阶之路》涵盖了从基础到高级的Node.js知识,通过深入学习,开发者不仅能掌握Node.js的核心技术,还能进一步提升解决实际问题的能力,从而在Web开发领域游刃有余。同时,配合"right.png"这样的图片...
Java大神进阶之路是一份针对Java开发者进阶提升的学习指南,详细描述了从编程基础到Java语言本身的精通,再到数据库以及Java Web核心技术的掌握,以及每个阶段所需要学习和掌握的知识点。文中特别强调了数据结构和...