MySQL 创建存储函数(插入10万条数据)

##创建一个测试表
CREATE TABLE `dept` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `deptName` varchar(32) DEFAULT NULL,
  `createDate` date DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `deptName` (`deptName`)
) ENGINE=InnoDB AUTO_INCREMENT=10001 DEFAULT CHARSET=utf8;

###创建一个存储函数 (插入1000条数据)
DROP PROCEDURE IF EXISTS proc_initData;
DELIMITER $
CREATE PROCEDURE proc_initData()
BEGIN
    DECLARE i INT DEFAULT 1;
		DECLARE n VARCHAR(64) DEFAULT '语音助手';
    WHILE i<=100000 DO
        INSERT INTO dept(id,deptName,createDate) VALUES(i,n,now());
        SET i = i+1,n = '语音助手',n=CONCAT(n,i);
    END WHILE;
END $

##最后执行函数
CALL proc_initData();

###创建删除表函数
DROP PROCEDURE if EXISTS pro_deleteData;
DELIMITER $
create procedure pro_deleteData()
BEGIN
    delete  from dept;
END $

##执行删除函数
CALL pro_deleteData();

 

你可能感兴趣的:(MySql)