Mysql循环插入数据如何实现

本篇内容主要讲解“Mysql循环插入数据如何实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mysql循环插入数据如何实现”吧!

Mysql 循环插入数据

说明:首先需要设置delimiter。

delimiter的作用:告诉解释器,这段命令是否已经结束了,mysql是否可以执行了

默认情况下,delimiter是‘;’但是当我们编写procedure时,如果是默认设置,那么一遇到‘;’,mysql就要执行。

WHILE…DO方式

/*循环插入*/
DELIMITER //
CREATE PROCEDURE callback()
BEGIN
  DECLARE num INT;
  SET num = 100;
  WHILE
    num < 300 DO
    INSERT INTO t_user(user_loginName,user_password,user_name,user_gender,user_email,user_gradeValueInt)
    VALUES(CONCAT("YuWang", num),CONCAT("pwd", num),CONCAT("YuWang", num),"男","1024@qq.com",num);
    SET num = num + 1;
  END WHILE;
END; 
//

设置好了存储过程要执行调用才生效

CALL callback();

其他基本命令

查看表

DESC USER;
SHOW FULL FIELDS FROM user;

查看表索引

SHOW KEYS FROM USER;
SHOW index FROM USER;

清空表

DELETE FROM USER;

查看指定库中的PROCEDURE

SELECT NAME FROM mysql.proc WHERE db = ‘test' AND TYPE = ‘PROCEDURE';

删除指定PROCEDURE

DROP PROCEDURE IF EXISTS callback;

查看创建代码

SHOW CREATE PROCEDURE callback;

调用存储过程(callback是自己命名的)

CALL callback();

删除存储过程(callback是自己命名的)

DROP PROCEDURE callback;

Mysql 循环插入10000条数据

因为项目用user和data两张表,把user中的部分字段拆分到data中,这样两表都要通过user_id关联起来(作为两表主键),当注册新用户时只往use表写入了user_id,data表无法同时写入user_id,这样会导致用户无法修改资料。

1.所以按自己想法,写个循环1W次随便插入数据测试

DROP PROCEDURE IF EXISTS proc_initData;--如果存在此存储过程则删掉
DELIMITER $
CREATE PROCEDURE proc_initData()
BEGIN
    DECLARE i INT DEFAULT 1;
    WHILE i<=10000 DO
        INSERT INTO data(user_id) VALUES(i);
        SET i = i+1;
    END WHILE;
END $
CALL proc_initData();

2.执行过程

Mysql循环插入数据如何实现  mysql 第1张

a、第三行开始正式插入10000条数据,结果显示耗时 32.453秒

b、第四行验证插入是否成功,Mysql WorkBench限制只返回了1000条数据

Mysql循环插入数据如何实现  mysql 第2张

c、第五行验证1000条以外的数据是否插入成功,返回了1行 user_id = 5231,成功插入!

Mysql循环插入数据如何实现  mysql 第3张

到此,相信大家对“Mysql循环插入数据如何实现”有了更深的了解,不妨来实际操作一番吧!这里是蜗牛博客网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram