首先灌入一万条数据(利用msyql存储过程)

说到msyql引擎,InnoDB和MyISam的区别。
我们暂时只要知道两点:
1.InnoDB支持外键和事物,而MyISam不支持
2.事务性表应该使用InnoDB,频繁读取如select操作很频繁的应该使用MyISam引擎。

我们新建了2张表:user_sys和user_sys2,字段都一样,只是一个使用InnoDB引擎,一个使用MyISam引擎。

我们使用mysql存储过程的方式,给表填充数据。
使用mysql客户端,新建函数—选择存储过程。
首先灌入一万条数据(利用msyql存储过程)_第1张图片

BEGIN

  SET @num=1;
  WHILE @num<=20 DO
    IF t=1 THEN
      INSERT INTO user_sys(user_name,user_pwd)value(concat('user',@num),'123456');
    ELSE
      INSERT INTO user_sys2(user_name,user_pwd)value(concat('user',@num),'123456');
    END IF;
    SET @num=@num+1;
  END WHILE;

END;

上面语句,定义了变量num,<=20为条件循环执行插入表的SQL语句,根据传入的参数不同,插入的insert语句不同。
SQL预览:

CREATE PROCEDURE `myshop`.`<function_name>`(in t int)
LANGUAGE SQL
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN

  SET @num=1;
  WHILE @num<=20 DO
    IF t=1 THEN
      INSERT INTO user_sys(user_name,user_pwd)value(concat('user',@num),'123456');
    ELSE
      INSERT INTO user_sys2(user_name,user_pwd)value(concat('user',@num),'123456');
    END IF;
    SET @num=@num+1;
  END WHILE;

END;

如何调用mysql的存储过程:

call initdb(1);
#initdb是我们上面定义存储过程时保持的名字
#并且上面的存储过程我们也定义了参数
#所以调用类似函数的方式

最终就完成了快速的给user_sys表和user_sys2表,插入20条数据。

如果要插入10000条,只需要修改成@num<=10000

你可能感兴趣的:(MySQL)