mysql 存储过程 是什么意思
发布网友
发布时间:2022-04-22 00:14
我来回答
共3个回答
懂视网
时间:2022-04-29 19:51
更多相关免费学习推荐:mysql教程(视频)
mysql存储过程教程:
1、创建表
1)打开mysql的图形化管理工具【MySQL Workbench 6.3 CE】,登录mysql数据库
2)在【test】测试数据库(自己创建的空数据库,实际场景使用具体数据库即可)的【Tables】菜单上,点击右键选择【Create Table】
3)在新建表界面,输入表名称、备注、添加列,点击【Apply】按钮完成创建表
2、插入测试数据
1)选中test数据库,此步可选(因为mysql的sql语句都是要带数据库名称前缀的)
2)点击菜单顶部的第一个图标菜单【Create a new tab ...】
3)在sql语句窗口,输入插入语句与查询语句
4)点击sql窗口上面的 闪电 图标,执行sql语句
3、创建存储过程
1)在test数据库的【Stored Procedures】菜单中点击右键【Create Stored Procedures】
2)在创建存储过程界面,输入如图所示的代码(虽然有一个输入参数str,但是没有使用,在存储过程中可以直接使用这个变量)
3)点击【Apply】创建存储过程,在弹窗中都点击【Apply】即可
4、执行存储过程
1)在SQL窗口中调用存储过格式【call new_procedure('haha');】
A)call是调用存储过程的必须命令
B)new_procedure是要调用的存储过程名字
C)('haha')是传入存储过程的参数
2)如果执行存储过程报错“safe update mode”,则修改数据更新模式,然后执行存储过程
SET SQL_SAFE_UPDATES = 0;
5、修改存储过程
1)在要修改的存储过程名字上点击右键,选择【Alter Stored Procedure...】
2)在修改存储过程界面,直接修改后,Apply即可
6、删除存储过程
在要删除的存储过程名字上点击右键,选择【Drop Stored Procedure...】即可
热心网友
时间:2022-04-29 16:59
存储过程(Stored Procere)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。
一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的。数据库中的存储过程可以看做是对编程中面向对象方法的模拟。它允许控制数据的访问方式。
存储过程通常有以下优点:
存储过程增强了SQL语言的功能和灵活性。存储过程可以用流控制语句编写,有很强的灵活性,可以完成复杂的判断和较复杂的运算。
存储过程允许标准组件是编程。存储过程被创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。而且数据库专业人员可以随时对存储过程进行修改,对应用程序源代码毫无影响。
存储过程能实现较快的执行速度。如果某一操作包含大量的Transaction-SQL代码或分别被多次执行,那么存储过程要比批处理的执行速度快很多。因为存储过程是预编译的。在首次运行一个存储过程时查询,优化器对其进行分析优化,并且给出最终被存储在系统表中的执行计划。而批处理的Transaction-SQL语句在每次运行时都要进行编译和优化,速度相对要慢一些。
存储过程能过减少网络流量。针对同一个数据库对象的操作(如查询、修改),如果这一操作所涉及的Transaction-SQL语句被组织程存储过程,那么当在客户计算机上调用该存储过程时,网络中传送的只是该调用语句,从而大大增加了网络流量并降低了网络负载。
存储过程可被作为一种安全机制来充分利用。系统管理员通过执行某一存储过程的权限进行*,能够实现对相应的数据的访问权限的*,避免了非授权用户对数据的访问,保证了数据的安全。
MySQL存储过程创建的格式如下:
CREATE PROCEDURE 过程名 ([过程参数[,...]])
[特性 ...] 过程体
举例代码如下:
CREATE PROCEDURE proc1(OUT s int)
BEGIN
SELECT COUNT(*) INTO s FROM user;
END
存储过程根据需要可能会有输入、输出、输入输出参数,这里有一个输出参数s,类型是int型,如果有多个参数用","分割开。
过程体的开始与结束使用BEGIN与END进行标识。
注意:MySQL在5.0以前并不支持存储过程
热心网友
时间:2022-04-29 18:17
用select...into语句
下面是mysql 5.0的帮助文档的:
这个SELECT语法把选定的列直接存储到变量。因此,只有单一的行可以被取回。
SELECT id,data INTO x,y FROM test.t1 LIMIT 1;
注意,用户变量名在MySQL 5.1中是对大小写不敏感的。请参阅9.3节,“用户变量”。
重要: SQL变量名不能和列名一样。如果SELECT ... INTO这样的SQL语句包含一个对列的参考,并包含一个与列相同名字的局部变量,MySQL当前把参考解释为一个变量的名字。例如,在下面的语句中,xname 被解释为到xname variable 的参考而不是到xname column的:
CREATE PROCEDURE sp1 (x VARCHAR(5))
BEGIN
DECLARE xname VARCHAR(5) DEFAULT 'bob';
DECLARE newname VARCHAR(5);
DECLARE xid INT;
SELECT xname,id INTO newname,xid
FROM table1 WHERE xname = xname;
SELECT newname;
END;
当这个程序被调用的时候,无论table.xname列的值是什么,变量newname将返回值‘bob’。
mysql 存储过程 是什么意思
存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。一个存储过程是一个可编程的函数,它在数据库中创建并保存。它可以有SQL语句和一些特殊的控制结构组成。当希望在不同的应用程序或平...
mysql存储过程proc和procedure的区别?
MySQL中的"proc"和"procedure"指的是相同概念,即存储过程。存储过程是一组预先编写的SQL命令集合,允许多次调用和执行以提高数据库性能和维护性。创建存储过程使用CREATE PROCEDURE语句。例如,要创建名为myproc的简单存储过程,选择mytable表中的所有行,只需编写以下代码:一旦定义好存储过程,通过CALL语句...
mysql中的存储过程是什么意思啊
存储过程是由流控制和SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,可由应用程序通过一个调用来执行,而且允许用户声明变量 。同时,存储过程可以接收和输出参数、返回执行存储过程的状态值,也可以嵌套调用。参考资料:http://hi.baidu.com/wangzhiqing999/blog/item/0b145a84f1be9...
mysql 存储过程总结(一)
存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发 人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。2、特点:封装,复用 : 可以把某一业务...
mysql之存储过程和存储函数
MySQL中的存储过程与存储函数详解存储过程是数据库中预先编写的SQL语句集合,具有代码复用、封装隔离、提升效率、减少网络通信和增强安全性等优点。然而,它们也存在跨数据库兼容性差、占用服务器资源及需要专业技能开发和维护的缺点。创建存储过程的语法如下:首先,使用`delimiter $$`来修改默认的SQL分号为...
mysql 存储过程
mysql> CREATE PROCEDURE proc1(OUT s int)-> BEGIN -> SELECT COUNT(*) INTO s FROM user;-> END -> // mysql> DELIMITER ;注:(1)这里需要注意的是DELIMITER //和DELIMITER ;两句,DELIMITER是分割符的意思,因为MySQL默认以";"为分隔符,如果我们没有声明分割符,那么编译器会把存储过程...
mysql 存储过程和函数的区别
存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。存储过程和函数存在以下几个区别:1)一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。存储过程...
MySQL高级篇-彻底掌握存储过程和函数
MySQL从5.0版本开始支持存储过程和函数,将复杂SQL逻辑封装,简化了调用过程。存储过程实质是一组预编译SQL语句的封装,执行时直接调用存储过程名,无需关注内部逻辑,减少网络传输量,适用于复杂数据处理。它与视图不同,直接操作底层数据表,提供更强大功能,如操作表和事务处理。创建存储过程需指定参数类型...
什么是存储过程?有什么优点?
一、存储过程: 存储过程是SQL 语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理。存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。存储过程在创建时即在服务器上进行编译,所以执行起来比单个SQL语句快。 二、存储过程的优点: 1...
mysql存储过程知识点难学吗?
MySQL存储过程 一、存储过程 1.1 什么是存储过程 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通...,确实有一定的难度!