MySQL-09-mysql 存储过程入门介绍

这篇具有很好参考价值的文章主要介绍了MySQL-09-mysql 存储过程入门介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

拓展阅读

MySQL 00 View

MySQL 01 Ruler mysql 日常开发规范

MySQL 02 truncate table 与 delete 清空表的区别和坑

MySQL 03 Expression 1 of ORDER BY clause is not in SELECT list,references column

MySQL 04 EMOJI 表情与 UTF8MB4 的故事

MySQL 05 MySQL入门教程(MySQL tutorial book)

MySQL 06 mysql 如何实现类似 oracle 的 merge into

MySQL 07 timeout 超时异常

MySQL 08 datetime timestamp 以及如何自动更新,如何实现范围查询

MySQL 09 MySQL-09-SP mysql 存储过程

SP

常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行。

存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。

  • 优点

(1) 存储过程增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。

(2) 存储过程允许标准组件是编程。存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。

(3) 存储过程能实现较快的执行速度。如果某一操作包含大量的 Transaction-SQL 代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。
因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的 Transaction-SQL 语句在每次运行时都要进行编译和优化,速度相对要慢一些。

(4) 存储过程能过减少网络流量。针对同一个数据库对象的操作(如查询、修改),如果这一操作所涉及的 Transaction-SQL 语句被组织程存储过程,那么当在客户计算机上调用该存储过程时,
网络中传送的只是该调用语句,从而大大增加了网络流量并降低了网络负载。

(5) 存储过程可被作为一种安全机制来充分利用。系统管理员通过执行某一存储过程的权限进行限制,能够实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。

MySQL 中对于存储过程的支持在 5.0+;

本文案例版本为 5.7;

Learn

对于 SP 的学习,可以直接在 Mysql 命令行客户端输入

mysql> ? procedure

将会得到如下响应:

Many help items for your request exist.
To make a more specific request, please type 'help <item>',
where <item> is one of the following
topics:
   ALTER PROCEDURE
   CREATE PROCEDURE
   DROP PROCEDURE
   PROCEDURE ANALYSE
   SELECT
   SHOW
   SHOW CREATE PROCEDURE
   SHOW PROCEDURE CODE
   SHOW PROCEDURE STATUS

接下来的学习可以直接通过 ?+topic 的形式既可以获取对应的文档说明及例子。

Hello Word

  • 数据准备

执行以下脚本。

CREATE DATABASE `test`;
USE `test`;

CREATE TABLE user(
	id BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增长ID',
	name VARCHAR(10) NOT NULL COMMENT '用户名称',
	age int NOT NULL DEFAULT 0 COMMENT '年龄'
) COMMENT 'user table';

INSERT INTO user (name, age)
VALUES
('ryo', 12),
('jim', 14);

执行后数据库数据应该是这样的

mysql> select * from user;
+----+------+-----+
| id | name | age |
+----+------+-----+
|  1 | ryo  |  12 |
|  2 | jim  |  14 |
+----+------+-----+
2 rows in set (0.00 sec)

CREATE PROCEDURE

  • client cmd

直接在命令行输入

? CREATE PROCEDURE

就可以获取对应的信息。文章来源地址https://www.toymoban.com/news/detail-850356.html

到了这里,关于MySQL-09-mysql 存储过程入门介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mysql 存储过程 / 存储函数

    目录 0 课程视频 1 基本语法 1.0 作用 -在数据库中 封装sql语句 - 复用 - 减少网络交互 -可接收参数返回数据 1.1 创建 1.2 调用 1.3 查看 1.4 删除 1.5 ; 封号结束符 改成 $$ 双刀符合结束语句 - 因为打包封号结束有冲突 1.6 在cmd 中定义 存储过程 打包的事务 - 打包完 可以改回 封号  

    2024年02月01日
    浏览(52)
  • MySQL(视图,存储函数,存储过程)

    作业1:  作业实现: 首先创建学生表,课程表,以及学生选课表。  1.用SQL语句创建学生表student,定义主键,姓名不能重名,性别只能输入男或女,所在系的默认值是 “计算机”。 2.修改student 表中年龄(age)字段属性,数据类型由int 改变为smallint。 3.为SC表建立按学号(

    2024年01月21日
    浏览(41)
  • MySQL——存储过程与存储函数

    MySQL从 5.0版本 开始支持 存储过程 和 存储函数 。存储过程和函数能够将复杂的SQL逻辑封装在一起,应用程序无须关注存储过程和函数内部复杂的SQL逻辑,而只需要简单地调用存储过程和函数即可。 1.1 理解 含义 :存储过程的英文是 Stored Procedure 。它的思想很简单,就是一组

    2024年02月10日
    浏览(40)
  • Mysql高阶语句与MySQL存储过程

    准备环境 1、select 显示表格中一个或数个字段的所有资料 语法:select 字段 from 表名 select region from store_info; 2、distinct 不显示重复的数据记录 语法:select distinct ‘字段’ from ‘表名’; select distinct storm_name from store_info ; 3、where 有条件查询 语法:select “字段” from\\\"表名\\\" wher

    2024年02月13日
    浏览(39)
  • MySQL之存储过程和存储函数

    能够将完成特定功能的SQL指令进行封装(SQL指令集),编译之后存储在数据库服务器上,并且为之取一个名字,客户端可以通过名字直接调用这个SQL指令集,获取执行结果。 2.1 优点 (1)SQL指令无需经客户端编写通过网络传送,可以节省网络开销,同时避免使用SQL指令在网络传

    2024年02月05日
    浏览(46)
  • MySQL存储函数与存储过程习题

    创建表并插入数据: 1、创建一个可以统计表格内记录条数的存储函数 ,函数名为count_sch() 先创建一个表并插入一些数据: mysql d // mysql create function count_sch() - returns int - begin - declare i int default 0; - select count(*) into i from sch; - return i; - end // Query OK, 0 rows affected (0.00 sec) mysql sel

    2024年01月19日
    浏览(43)
  • MySQL存储过程

    目录 一、概念 二、创建存储过程和调用方法 2.1创建存储过程语句 2.2调用方法 2.3参数详情 2.4 入参存储过程 2.5出参存储过程 2.6带有INOUT的存储过程 根据某种需求提前写好的SQL语句集合,需要用到时调用这块集合 小写版 create procedure 名称([参数]) begin 内容 end; 大写版  CR

    2024年04月13日
    浏览(27)
  • MySQL存储过程(二十四)

    你相信吗, 相信那一天的夕阳吗? 上一章简单介绍了 MySQL的索引(二十三),如果没有看过,请观看上一章 MySQL从5.0版本开始支持存储过程和函数。存储过程和函数能够将复杂的SQL逻辑封装在一起, 应用程序无须关注存储过程和函数内部复杂的SQL逻辑, 而只需要简单地调用存储过

    2024年02月14日
    浏览(40)
  • Mysql存储过程调用

    项目结构: 准备数据 CREATE TABLE `demo_entity` (   `id` bigint(20) NOT NULL AUTO_INCREMENT,   `name` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,   `age` bigint(20) DEFAULT \\\'0\\\',   `cdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,   `udate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,   PRIMARY KEY (`id`) ) EN

    2024年02月05日
    浏览(40)
  • MySQL 存储过程和函数

    目录 一、存储过程和函数概述 二、创建存储过程和函数 1、创建存储过程 2、创建存储函数 三、查看/调用储存过程和函数 1、查看储存过程/函数 2、调用储存过程/函数 四、修改/删除存储过程和函数 1、修改存储过程和函数 2、删除存储过程和函数 五、练习  存储过程就是一

    2024年02月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包