`

mysql procedure人门学习笔记(1)

阅读更多
#创建resources表 #resources自关联
CREATE TABLE tt_Resources(
id BIGINT NOT NULL ,
title VARCHAR(255),
intro VARCHAR(255),
src   VARCHAR(255),
onoff TINYINT(255),
resources_id VARCHAR(255),
PRIMARY KEY(id)
);

ALTER TABLE tt_Resources ADD CONSTRAINT parent_resources
FOREIGN KEY(resources_id) REFERENCES tt_Resources(id) ON DELETE SET NULL;

CREATE PROCEDURE select_employee(IN parameter INTEGER)
BEGIN
IF parameter=0 THEN
SELECT * FROM employee ORDER BY id asc;
else
SELECT * FROM employee ORDER BY id desc;
END if;
END;

CREATE PROCEDURE test_p(IN isLimit boolean,IN prow INTEGER)
BEGIN
IF
isLimit THEN
SELECT prow;
SELECT * FROM bb_menu_new limit 0,3;
END IF;
END;

预编译:
创建:PREPARE stmt1 FROM "SELECT * FROM bb_menu_new where id=?"
执行:EXECUTE stmt1 USING @x;
销毁:DEALLOCATE PREPARE stmt2;

分页:
CREATE PROCEDURE page(IN wh VARCHAR(150) ,IN st INT,IN sz INT)
BEGIN
DECLARE menuSql VARCHAR(255) DEFAULT 'SELECT * FROM bb_menu_new';
IF
wh IS NOT NULL THEN
SET menuSql=CONCAT(menuSql," WHERE ",wh);
END IF;
IF
sz IS NOT NULL THEN
SET menuSql=CONCAT(menuSql," limit ",st,sz);
END IF;
SELECT menuSql;
SET @sql=menuSql;
PREPARE menuStatement FROM @sql;
EXECUTE menuStatement;
DEALLOCATE PREPARE menuStatement;
END;

1.DECLARE 程序处理 (若果报错 '21S01' 则会执行 SET @x=1; 并跳过该错误语句)
CREATE PROCEDURE handlerdemo()
BEGIN
DECLARE flag CONDITION FOR SQLSTATE '21S01';
DECLARE CONTINUE HANDLER FOR flag SET @x=1;
INSERT INTO bb_menu_new VALUES(1);
END;




2.CURSOR  (相当于java的result结果集 )
CREATE PROCEDURE cursordemo()
BEGIN
DECLARE  a VARCHAR(255);
DECLARE   b VARCHAR(255);
DECLARE cursor1 CURSOR FOR SELECT text,url FROM bb_menu_new;
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET @x=10;
OPEN cursor1;
REPEAT
FETCH cursor1 INTO a,b;
SELECT a,b;
FETCH cursor1 INTO a,b;
SELECT a,b;
UNTIL true END REPEAT;
CLOSE cursor1;
END;

3.CASE 语句
CREATE PROCEDURE casedemo()
BEGIN
DECLARE age INT DEFAULT 3;
CASE
WHEN age=1 THEN
SELECT * FROM bb_menu_new;
WHEN age=3 THEN
SELECT 3 as error;
END CASE;
END;

4.LOOP循环语句
CREATE PROCEDURE loopdemo()
BEGIN
DECLARE i INT DEFAULT 0;
lable:LOOP
SET i =i+1;
SELECT i;
/*IF i<10 THEN ITERATE lable;END IF;
LEAVE lable;
*/
IF i>=10 THEN
LEAVE lable;
END IF;
END LOOP lable;
END;

5.REPEAT 语句 (满足条件跳出)
CREATE PROCEDURE repeatdemo()
BEGIN
DECLARE i INT DEFAULT 0;
REPEAT
SET i=i+1;
SELECT i;
UNTIL i>=10 END REPEAT;
END;
6.WHILE 语句(满足条件循环)
CREATE PROCEDURE whiledemo()
BEGIN
DECLARE i INT DEFAULT 0;
WHILE i<=10 DO
SET i=i+1;
SELECT i;
END WHILE;
END;
分享到:
评论

相关推荐

    MySQL核心技术学习笔记

    ### MySQL核心技术学习笔记 #### 一、为什么要学习数据库 学习数据库的重要性主要体现在以下几个方面: 1. **持久化数据到本地**:数据库能够将应用程序产生的数据持久化存储在磁盘上,即使系统重启也不会丢失...

    MySQL高可用学习笔记mysqlrouter_MHA.docx

    MySQL 高可用学习笔记 mysqlrouter_MHA 本文档主要讲解了 MySQL Router 和 MHA 的高可用配置和测试步骤。MySQL Router 是一个提供高可用和负载均衡的工具,而 MHA 是一个提供高可用和自动failover 的工具。下面我们...

    MySQL学习笔记 MySQL学习笔记

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,尤其在Web应用...学习MySQL不仅涉及理论知识,还需要大量的实践操作来熟悉其语法和功能。掌握MySQL能让你在数据管理、Web开发和系统集成等领域具备更强的竞争力。

    数据库 MySQL 学习笔记高级篇.md

    数据库 MySQL 学习笔记高级篇.md

    MySQL OCP超详细学习笔记.pdf

    MySQL OCP 超详细学习笔记$pdf MySQL OCP 超详细学习笔记.pdf 是一份详细的 MySQL 学习笔记,旨在帮助 MySQL DBA master 数据库管理的知识和技能。本笔记涵盖了 MySQL 的多个方面,包括 MySQL 的配置、性能优化、...

    MySQL学习笔记.zip

    这份“MySQL学习笔记”将引导我们深入理解其核心概念和实用技能。 一、MySQL简介 MySQL是一个开源、免费的数据库系统,由瑞典的MySQL AB公司开发,后被Oracle公司收购。它的设计目标是速度、可移植性和简洁性,支持...

    MySQL DBA深度学习笔记

    ### MySQL DBA深度学习笔记知识点概述 #### 一、MySQL版本选择与下载 - **MSI与ZIP包区别**: - **MSI文件**:适用于Windows系统,提供图形化安装界面,支持自定义安装路径及组件选择等功能,适合希望进行定制化...

    MySQL学习笔记.chm

    MySQL学习笔记.chmMySQL学习笔记.chmMySQL学习笔记.chmMySQL学习笔记.chm

    MySQL进阶篇学习笔记

    黑马MySQL课程总结的学习笔记

    Mysql燕十八学习笔记.doc

    Mysql学习燕十八学习笔记文本文件,Mysql三大列类型 1. 数值型2. 字符串型3. 日期时间类型

    mySQL.zip_MYSQL_mysql 课件_学习笔记_笔记_资料

    这份"mySQL.zip_MYSQL_mysql 课件_学习笔记_笔记_资料"的压缩包内容包括了MySQL的培训课件和学习笔记,非常适合初学者进行数据库知识的入门学习。 51CTO下载-Mysql培训课件.pdf可能涵盖了以下MySQL的核心知识点: ...

    mysql 个人学习笔记

    这份“MySQL个人学习笔记”涵盖了从基础到进阶的多个方面,旨在帮助学习者全面理解MySQL的使用。 1. **安装与配置**: 在开始学习MySQL之前,你需要了解如何在不同的操作系统上安装MySQL服务器,如Windows、Linux...

    mysql DBA学习笔记

    这份"超经典mysql DBA学习笔记"涵盖了成为一名优秀DBA所需掌握的众多知识点,旨在帮助学习者深入理解MySQL数据库的运维与优化。 一、MySQL概述 MySQL是一种开源、免费的关系型数据库管理系统,广泛应用于互联网应用...

    mysql学习笔记(一).txt

    mysql入门学习笔记整理,如何创建数据库、查看数据库,删除数据库,创建表和对表字段类型操作、约束、mysql数据类型整理

    mysql个人学习笔记

    MySQL个人学习笔记 本篇文章是一个关于MySQL的个人学习笔记,涵盖了基本的增删改查语句,适合新手快速使用MySQL。下面是文章的详细知识点: 一、数据库操作 1. 登陆数据库:使用`mysql –u 用户名 -p 密码`命令...

    与MySQL零距离接触学习笔记

    这份"与MySQL零距离接触学习笔记"无疑为初学者提供了一个深入了解MySQL的基础平台。 首先,笔记可能涵盖了MySQL的安装与配置。在Windows、Linux或MacOS等操作系统上安装MySQL通常涉及下载安装包,执行安装过程,并...

    mysql集群 优化 学习笔记.zip

    mysql集群 优化 学习笔记

    MySQL思维导图学习笔记.zip

    MySQL思维导图学习笔记.zip

    超经典mysql dba 学习笔记.zip

    这份“超经典mysql dba学习笔记”包含了丰富的MySQL运维知识,对于想要深入理解和掌握MySQL DBA技能的人来说是一份宝贵的资料。 一、MySQL基础知识 在学习MySQL DBA之前,首先需要了解MySQL的基本概念,包括数据库...

Global site tag (gtag.js) - Google Analytics