mysql 存储过程、视图---创建、调用、删除
之前一直用的是Sql Server数据库,最近偶然机会接触到mysql。这里总结了关于mysql 存储过程、视图的“创建、调用、删除”示例
=================================存储过程==================================
1、带参数的存储过程
/*创建存储过程*/
DELIMITER $$ /*为了避免冲突,首先用"DELIMITER &&"将MySQL的结束符设置为&&*/
USE `DataName`$$ /*DataName-->数据库名*/
DROP PROCEDURE IF EXISTS `aa`$$ /*判断存储过程是否存在(存在则删除)*/
CREATE DEFINER=`root`@`%` PROCEDURE `aa`(str_id VARCHAR(34))/*str_id VARCHAR(34)-->参数*/
BEGIN
SELECT * FROM tj_archive WHERE id=str_id; /*执行的Sql脚本*/
END$$
DELIMITER; /*最后再用"DELIMITER ;"来将结束符恢复成分号*/
/*查看存储过程*/
CALL `aa`('D1608220023')
/*删除存储过程*/
DROP PROCEDURE `aa`
2、带IF条件判断的存储过程
DELIMITER $$
USE `iu`$$
DROP PROCEDURE IF EXISTS `bb`$$
CREATE DEFINER=`root`@`%` PROCEDURE `bb`(Xb VARCHAR(6)) -- 创建
BEGIN
IF (Xb='男') THEN SET Xb='1';END IF;
IF (Xb='女') THEN SET Xb='0';END IF;
SELECT * FROM tj_archive WHERE sex=Xb;
END$$
DELIMITER;
CALL `bb`('女') -- 调用
DROP PROCEDURE `bb` -- 删除
3、使用 SELECT... INTO 给变量赋值
DELIMITER $$
USE `iu`$$
DROP PROCEDURE IF EXISTS `cc`$$
CREATE DEFINER=`root`@`%` PROCEDURE `cc`()
BEGIN
DECLARE RYDAID VARCHAR(34);
SELECT CONCAT('D',CAST((CAST(SUBSTRING(MAX(id),2) AS UNSIGNED)) AS CHAR)) INTO RYDAID FROM tj_archive;
SELECT * FROM tj_archive WHERE id=RYDAID;
END$$
DELIMITER;
CALL `cc`(); -- 调用
DROP PROCEDURE `cc`; -- 删除
=======================================视图==================================
-- 创建视图
CREATE VIEW MyView AS
SELECT
CASE sex -- 适用性别 0:男女通用 1:男 2:女
WHEN sex='男' THEN 1 -- 适用 男
WHEN sex='女' THEN 2 -- 适用 女
WHEN sex='通用' THEN 0 -- 男女通用
END AS XB
FROM MyTable -- 表
-- where -- 过滤条件
select * from MyView -- 查看视图
原文:https://www.cnblogs.com/CHNMurphy/p/5829099.html
mysql 存储过程、视图---创建、调用、删除的更多相关文章
- MySQL存储过程_创建-调用
阅读目录:MySQL存储过程_创建-调用-参数 存储过程:SQL中的"脚本" 创建存储过程 调用存储过程 存储过程体 语句块标签 存储过程的参数 in:向过程里传参 out:过程向 ...
- MySQL存储过程的创建及调用
阅读目录:MySQL存储过程_创建-调用-参数 存储过程:SQL中的“脚本” 1.创建存储过程 2.调用存储过程 3.存储过程体 4.语句块标签 存储过程的参数 1.in:向过程里传参 2.out:过 ...
- MySQL索引的创建、删除和查看
MySQL索引的创建.删除和查看 此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html 1.索引作用 在索引列上,除了上面提到的 ...
- MySQL查看、创建和删除索引的方法
本文实例讲述了MySQL查看.创建和删除索引的方法.分享给大家供大家参考.具体如下: 1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率.特别 ...
- taskctl实现自定义mysql存储过程作业类型调用
TASKCTL支持任意作业类型的扩展,但目前TASKCTL 4.1.3版本中并没有内置mysql存储过程的作业插件.通过介绍使TASKCTL支持调度mysql存储过程作业类型的步骤,一方面解决一些朋友 ...
- SQLServer、Mysql、Oracle 创建、删除用户和授予用户权限
SQLServer 1.创建用户 CREATE LOGIN [用户名称] WITH PASSWORD='用户密码', DEFAULT_DATABASE=[默认数据库名称], CHECK_EXPIRAT ...
- MySql存储过程的创建与使用及在thinkphp中如何调用笔记
学习sql的存储过程,笔记总结如下: MySQL默认将分号,即";"作为语句的分隔符.如果是这样的话,则一个存储过程将很难正常创建,因为它的BEGIN和END之间可以是任意数量的S ...
- mysql存储过程的创建和调用
描述:存储过程就是具有名字的一段代码,用来完成一个特定的功能.创建的存储过程保存在数据库的数据词典中. --创建一个名为GreetWorld的存储过程,拼接两个值 CREATE PROCEDURE G ...
- mysql存储过程且mybatis调用
首先,需要执行符DELIMITER ,建议用//,即在存储过程开始前定义delimiter //,在结束后加上//,最后加上DELIMITER ; 具体原因@参考文章1写的很清楚,不再赘述. 参考文章 ...
- mysql表的创建和删除
在创建数据库表时,最好是在编辑器中写好创建表的代码,然后粘贴到命令行中,这样如果有错修改起来方便. 现在来创建一个user表: -- 打开数据库, --后面必须要有空格, 表示注释 USE mydb3 ...
随机推荐
- redis中get值显示为16进制字符串的解决方法
Linux系统中,通过xshell登录redis,当根据某个key进行get取值时,取到的值为“\xc2\xed\xc0\xad\xcb\xb9\xbc\xd3”格式的十六进制字符串,原因是值中的中文 ...
- Cache busting
Cache busting https://www.keycdn.com/support/what-is-cache-busting https://curtistimson.co.uk/post/f ...
- (8)Flask微电影项目会员中心其他页面搭建
会员中心修改密码.评论.登录日志和收藏电影4个页面的内容. 一.修改密码页面: {% extends "home/home.html" %} {% block css %} < ...
- (2)PyCharm开发Flash项目之蓝图构建
下面通过在PyCharm开发工具中创建一个简单的Flask项目来体会一下Flask的蓝图构建(Blueprint). 何谓蓝图:在Flask中蓝图就在大型应用中,将不同功能的模块(module)分开管 ...
- Flutter中管理路由栈的方法和应用
原文地址:https://www.jianshu.com/p/5df089d360e4 本文首先讲的Flutter中的路由,然后主要讲下Flutter中栈管理的几种方法. 了解下Route和Navig ...
- shell 判断一个字符串是否由字母数字组成
摘自:http://blog.51cto.com/lynnteng0/804520 describe="it's a describe by yourself" if echo & ...
- mac下安装face_recognition
安装依赖库: 1.安装cmake (是一个跨平台的安装工具) brew install cmake 2.安装boost.boost-python(C++的程序库) brew install boost ...
- 使用Termux,在手机上做nodejs编程,运行nodejs程序。
如果你是一名nodejs开发者,是否想过以下问题:在手机上运行nodejs程序?用手机当nodejs服务器?在手机上做nodejs编程?YES!使用Termux,以上都可以做到! 下面展示如何实现这个 ...
- 【Python学习之十一】Numpy
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 1.介绍NumPy(Numerical Pyt ...
- idea中默认maven配置
使用idea时,通常会配置自己的maven,但是发现每创建一个新项目都需要重新配置一遍,原来在idea中有一个默认配置,修改后就会全局生效,具体配置如下: 简单两步,配置完成.