MySQL基础-存储过程

存储过程

定义:将一批为了完成特定功能的SQL语句集,根据传入的参数(也可没有),调用,完成单个sql语句更复杂的功能

存储过程思想很简单,就是SQL语句层面上的代码封装和重用

优点:1) 可封装,并隐藏复杂的业务逻辑;2) 可回传值,且可接受参数

缺点:因支持的编程语言不通,性能调校和撰写,受限于各种数据库系统

创建存储过程示例

delimiter $$-- 创建存储过程create procedure p_user(int m int,-- in 表示该参数是传入参数,不能当作返回值    int n int,    out res int-- out 表示该参数是返回参数,只能作为返回值,不用于接收    -- inout 表示既可以接收传入的值也可以当作返回值)beginselect username from user_info where uid between m and n;set res=0;end $$delimiter ;-- 1.在mysql中调用set @res=10call p_user(2,4,10);   -- 该语句报错call p_user(2,4,@res)  -- 正确的调用方式select @res;    -- 执行成功,@res变量的值发生改变-- 2.在python中调用pymysql连接mysql获取到游标对象cursor通过游标对象cursor.callproc('p_user',(2,4,10))  # 参数内部原理:@_p_user_0=2,@_p_user_1=4,@_p_user_2=10游标对象cursor.execute('select @_p_user_2;')# 如果值发生改变,说明执行成功
(0)

相关推荐

  • Django 使用原生sql语句操作数据库

    Django 使用原生sql语句操作数据库 Django配置连接数据库: 只需要在 settings.py 文件中做好数据库相关的配置就可以了 DATABASES = {'default': { 'E ...

  • MySQL基础(非常全)

    MySQL基础 一.MySQL概述 1.什么是数据库 ? 答:数据的仓库,如:在ATM的示例中我们创建了一个 db 目录,称其为数据库 2.什么是 MySQL.Oracle.SQLite.Access ...

  • (8条消息) MySQL基础

    一.连接MySQL 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MySQ: 首先在打开cmd窗口,输入mysql -uroot -p ,然后空格进入MySQL控制台, ...

  • (8条消息) mysql 基础教程 很全

    (一)数据库操作 1.创建数据库 create database 数据库名; create database runoob; 2.选择数据库 use 数据库名; use runoob; 3.删除数据库 ...

  • MySQL数据库优势特点是什么?mysql基础知识笔记

    现下市场中,大多数使用Linux操作系统的互联网企业都使用MySQL作为后端的数据库.提升MySQL数据库职业技能的人们也非常多.那么,MySQL数据库到底有哪些优势和特点,得以如此深受青睐呢? My ...

  • MySQL基础知识学习之创建MySQL数据库和表

    虚构一个微型在线书店的数据库和数据,作为后续MySQL脚本的执行源,方便后续MySQL和SQL的练习. 在虚构这个库的过程中,主要涉及的是如何使用命令行管理 MySQL数据库对象:数据库.表.索引.外 ...

  • MySQL基础架构和执行流程分析

    MySQL执行一条插入语句或者查询语句,实际上会经过哪些流程和部件,MySQL的架构是怎么样的,本文就一起从一条查询语句的执行流程开始来揭开面纱. 如以下的执行语句: select * from te ...

  • 数据库 MySQL基础

    数据库 MySQL 健康码 公安系统 支付宝微信支付 酒店 12306 买票 网易云 收藏歌曲 手机通话记录 地铁卡余额 吃鸡 .王者荣耀 皮肤 装备 Mysql 5.7当前主流数据库 mysql 被 ...

  • MySQL基础SQL命令---增删改查

    MySQL基础SQL命令---增删改查

  • MySQL基础总结

    MySQL:结构化查询语言 数据库历史发展: 刚诞生时属于微小数据库 瑞典人(最容易出现乱码) charset(字符集) sun(开源) 5.5(闭源) MariaDB(开源) 数据库database ...