mysql 存储过程演示造数据

创建数据库

create database if not exists testDB default charset utf8 collate utf8_general_ci;

选择数据库

USE testDB;

建表

CREATE TABLE IF NOT EXISTS `test`(
   `id` INT UNSIGNED AUTO_INCREMENT,
   `name` VARCHAR(100) NOT NULL,
   `email` VARCHAR(40) NOT NULL,
   `mobile` BIGINT(11) NOT NULL,
   `submission_date` DATETIME,  
   PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

声明存储过程

DELIMITER $$  #将语句的结束符号从分号;临时改为两个$$(可以是自定义)

CREATE PROCEDURE proc()  
BEGIN
    DECLARE num INT;
    SET num = 1;
    truncate table test;
    set autocommit=0;
    set unique_checks=0;
    WHILE num < 10 DO
        INSERT INTO
          `test`
        (
          `id`,
          `name`,
          `email`,
          `mobile`,
		  `submission_date`
        )
        VALUES (
		num,
        concat(num,'tester'),
		concat(num,'tester@qq.com'),
		15000000000 + num,
        now()
      );
        SET num = num + 1;
    END WHILE;
    set autocommit=1;
    set unique_checks=1;
END$$

执行完成后,可以将语句的结束符号恢复为分号

delimiter;

默认情况下,存储过程和默认数据库相关联,如果想指定存储过程创建在某个特定的数据库下,那么在过程名前面加数据库名做前缀。 在定义过程时,使用 DELIMITER $$ 命令将语句的结束符号从分号 ; 临时改为两个 $$,使得过程体中使用的分号被直接传递到服务器,而不会被客户端(如mysql)解释。

调用存储过程

call proc();

删除存储过程

drop procedure proc;

删除表数据

在测试过程你可能会需要删除数据,可以使用truncate

TRUNCATE test;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是一言

让我看看你的头像

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值