-- ---------------------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数据库的部署、操作和基本SQL语句,同时了解如何在云端创建数据库并进行最佳应用实践,如搭建个人博客等。 其他说明:建议读者在学习过程中积极参与实战练习,动手操作并实践...
一个索引是一种数据结构,可以快速定位和访问表中的数据。MySQL支持多种类型的索引,包括B树索引、哈希索引和全文索引等。正确选择索引类型可以显著提高查询性能。例如,如果您需要进行模糊查询,全文索引可能比B树...
初学者:对于刚开始接触MySQL的用户,本资源包提供了从入门到进阶的详细教程,帮助用户快速掌握MySQL的基本操作。 数据库管理员(DBA):对于需要管理多个MySQL数据库的管理员,本资源包提供了丰富的管理和维护技巧...
第三部:MySQL应用管理及进阶实战操作(29节) 01-MySQL启动与关闭深入知识及原理.avi 02-登录MySQL知识深入讲解.avi 03-学会使用MySQL数据库的帮助.avi 04-修改mysql密码多方法实战及注意-排错.avi 05-找回丢失的...
初学者:对于刚开始接触MySQL的用户,本资源包提供了从入门到进阶的详细教程,帮助用户快速掌握MySQL的基本操作。 数据库管理员(DBA):对于需要管理多个MySQL数据库的管理员,本资源包提供了丰富的管理和维护技巧...
初学者:对于刚开始接触MySQL的用户,本资源包提供了从入门到进阶的详细教程,帮助用户快速掌握MySQL的基本操作。 数据库管理员(DBA):对于需要管理多个MySQL数据库的管理员,本资源包提供了丰富的管理和维护技巧...
初学者:对于刚开始接触MySQL的用户,本资源包提供了从入门到进阶的详细教程,帮助用户快速掌握MySQL的基本操作。 数据库管理员(DBA):对于需要管理多个MySQL数据库的管理员,本资源包提供了丰富的管理和维护技巧...
初学者:对于刚开始接触MySQL的用户,本资源包提供了从入门到进阶的详细教程,帮助用户快速掌握MySQL的基本操作。 数据库管理员(DBA):对于需要管理多个MySQL数据库的管理员,本资源包提供了丰富的管理和维护技巧...
初学者:对于刚开始接触MySQL的用户,本资源包提供了从入门到进阶的详细教程,帮助用户快速掌握MySQL的基本操作。 数据库管理员(DBA):对于需要管理多个MySQL数据库的管理员,本资源包提供了丰富的管理和维护技巧...
初学者:对于刚开始接触MySQL的用户,本资源包提供了从入门到进阶的详细教程,帮助用户快速掌握MySQL的基本操作。 数据库管理员(DBA):对于需要管理多个MySQL数据库的管理员,本资源包提供了丰富的管理和维护技巧...
初学者:对于刚开始接触MySQL的用户,本资源包提供了从入门到进阶的详细教程,帮助用户快速掌握MySQL的基本操作。 数据库管理员(DBA):对于需要管理多个MySQL数据库的管理员,本资源包提供了丰富的管理和维护技巧...
初学者:对于刚开始接触MySQL的用户,本资源包提供了从入门到进阶的详细教程,帮助用户快速掌握MySQL的基本操作。 数据库管理员(DBA):对于需要管理多个MySQL数据库的管理员,本资源包提供了丰富的管理和维护技巧...
初学者:对于刚开始接触MySQL的用户,本资源包提供了从入门到进阶的详细教程,帮助用户快速掌握MySQL的基本操作。 数据库管理员(DBA):对于需要管理多个MySQL数据库的管理员,本资源包提供了丰富的管理和维护技巧...
初学者:对于刚开始接触MySQL的用户,本资源包提供了从入门到进阶的详细教程,帮助用户快速掌握MySQL的基本操作。 数据库管理员(DBA):对于需要管理多个MySQL数据库的管理员,本资源包提供了丰富的管理和维护技巧...
初学者:对于刚开始接触MySQL的用户,本资源包提供了从入门到进阶的详细教程,帮助用户快速掌握MySQL的基本操作。 数据库管理员(DBA):对于需要管理多个MySQL数据库的管理员,本资源包提供了丰富的管理和维护技巧...
MySQL作为全球最流行的开源关系型数据库管理系统之一,其在Web开发、数据存储与分析领域扮演着至关重要的角色。掌握MySQL开发,意味着具备设计高效数据库架构、编写优化SQL语句、管理数据库安全及性能调优等关键技能...
猎豹网校 快速掌握 Python Django 1.5 网页开发[MP4] 猎豹网校 快速掌握 MATLAB 经典教程[MP4] 猎豹网校 快速掌握 LoadRunner 测试工具[MP4] 猎豹网校 快速掌握 C# 学习指南[MP4] 猎豹网校 快速掌握 Access VBA...
数据库技术是软件开发中的必备技能,咱们从数据库基本操作到掌握数据库设计的能力,层层深入学习数据库设计思想,一个软件项目的底层逻辑中,数据的存储结构是重中之重,因此,数据库技术也是面试中常被面试官拿来...
数据库技术是软件开发中的必备技能,咱们从数据库基本操作到掌握数据库设计的能力,层层深入学习数据库设计思想,一个软件项目的底层逻辑中,数据的存储结构是重中之重,因此,数据库技术也是面试中常被面试官拿来...