MySQL之存储过程

在讲存储过程前先讲讲delimiter;

delimiter其实就是告诉MySQL解释器,该段命令是否已经结束,MySQL数据库是否可以执行。默认情况下,delimiter是分号。在命令行客户端中,如果有一行命令以分号结束,

那么回车后,MySQL将会执行该命令。

但有些时候碰到英文分号,我们并不希望立即执行,我们可修改分隔符来保证代码统一执行,例如存储过程;

存储过程的结果很简单:

语法:CREATE PROCEDURE  过程名([[IN|OUT|INOUT] 参数名 数据类型[,[IN|OUT|INOUT] 参数名 数据类型…]]) [特性 ...] 过程体

call 过程名 调用存储过程

下面的例子没有参数:

DELIMITER $$ -- 修改结束符保证存储过程是一个整体
USE `test1`$$ -- 存储 过程在哪个数据库下,直接在当前数据库下建存储过程,此行可省略
DROP PROCEDURE IF EXISTS `sp`$$-- 当存储过程存在时先删除,保证存储过程的内容能执行
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp`()-- definer指定用户和地址,definer
BEGIN 
CREATE TABLE IF NOT EXISTS student(
    id INT,
    stu_name VARCHAR(10),
    class INT(2)
);
END$$
DELIMITER ;

call sp();则会执行存储过程中的语句,本例为当student表不存在就新建表;


 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值