MySQL存储过程(测试插入100万条记录)

MySQL 存储过程

向数据库中插入100万条记录,不得不提及MySQL的存储过程

MySQL的存储过程从5.0版本开始支持,它是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。

简言之就是一组可编程函数,为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。

特点

  • 增强了SQL语言的功能和灵活性
  • 可封装、可以回传值
  • 有着较快的执行速度
  • 能够减少网络流量

基本语法

  1. 声明语句:

    DELIMITER $$
    
  2. 创建函数:

    CREATE FUNCTION 函数名()
    
  3. 存储过程开始和结束符号:

    BEGIN .... END    
    
  4. 变量赋值:

    SET 变量值 =1  
    
  5. 定义变量:

    DECLARE 变量名 INT DEFAULT 变量值 ;
    

测试

创建数据库

在这里插入图片描述

创建并执行函数

#声明
DELIMITER $$
#创建函数
CREATE FUNCTION mock_data () 
#定义返回值
RETURNS INT			
BEGIN 		
	#定义变量
	DECLARE num INT DEFAULT 1000000;		
	DECLARE i INT DEFAULT 0;
	#循环
	WHILE i < num DO		
		#插入语句
		INSERT INTO `user` (`name`,`gender`,`age`) VALUES (CONCAT('用户',i),FLOOR(RAND()*2),FLOOR(RAND()*100));
		SET i = i + 1;		
	END WHILE;
	#返回i
	RETURN i;
END;

查询记录

SELECT mock_data();

在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/ITMuscle/article/details/113765309