MySQL循环插入百万数据

drop PROCEDURE test_insert;
DELIMITER;;
CREATE PROCEDURE test_insert()
    begin 
        declare num int; 
        set num=0; 
        while num < 10000 do 
            insert into test_mysql(test_mysql.student_id,test_mysql.student_name) values(concat(num),concat('赵大宝', num,'号')); 
            set num=num+1;
        end while;
    END;;

call test_insert();

关闭自动提交会快很多

MySQL默认是打开了自动提交的。关闭自动提交有以下办法
1. Session级别:使用 START TRANSACTION 或者 BEGIN 来开始一个事务,使用ROLLBACK/COMMIT来结束一个事务。
2. Session级别:SET autocommit=0关闭当前session的自动提交。
3. 全局级别:SET GLOBAL autocommit=0关闭全局的自动提交。

drop PROCEDURE test_insert;
DELIMITER ;;  
set autocommit=0;
CREATE  PROCEDURE test_insert ()  
begin 
    declare num int; 
    set num=0; 
    while num < 100000 do 
        insert into test_mysql(test_mysql.student_id,test_mysql.student_name) values(concat(num),concat('赵大宝', num,'号')); 
        set num=num+1;
    end while;
    commit;
END;; 

call test_insert();

附上删除表数据的几种方法

删除表内数据,用 delete。格式为:

delete from 表名 where 删除条件;

清除表内数据,保存表结构,用 truncate。格式为:

truncate table 表名;

删除表用 drop,就是啥都没了。格式为:

drop table 表名;

  1. 当你不再需要该表时, 用 drop;

  2. 当你仍要保留该表,但要删除所有记录时, 用 truncate;

  3. 当你要删除部分记录时, 用 delete。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值