批量插入数据库数据脚本

插5w条数据到表里面,如果一条一条insert会很麻烦

mysql版本:

  1. DELIMITER $$:这行代码设置了新的定界符为$$,以替代默认的分号;。这是因为存储过程中可能包含多个SQL语句,为了区分每个语句的结束,需要使用不同于默认分号的定界符。

  2. CREATE PROCEDURE InsertData():这行代码定义了一个名为InsertData的存储过程。CREATE PROCEDURE是用于创建存储过程的语句。InsertData是存储过程的名称,您可以根据需要进行更改。

  3. BEGINEND:这两行代码标记存储过程的开始和结束。

  4. DECLARE i INT DEFAULT 1;:这行代码声明一个名为i的整数型变量,并将其初始值设为1。在循环中,我们将使用这个变量来迭代插入操作。

  5. WHILE i <= 10 DOEND WHILE;:这两行代码定义了一个循环结构,只要i小于等于10,循环内的代码块就会被执行。

  6. INSERT INTO your_table (column1, column2) VALUES (value1, value2);:这行代码表示插入一条数据到名为your_table的表中。您需要将your_table替换为实际的表名,将column1column2替换为要插入数据的列名,将value1value2替换为具体的值。

  7. SET i = i + 1;这行代码将变量i的值递增1,以便进行下一次迭代。

最后,DELIMITER ;将定界符恢复为默认的分号;

创建一个存储过程

DELIMITER $$
CREATE PROCEDURE insert_data()
BEGIN
    DECLARE i INT DEFAULT 1;
    WHILE i <= 50000
        DO
            INSERT INTO your_table1(column1column2) VALUES (value1, value2);
            INSERT INTO your_table2(column1column2) VALUES (value1, value2);
            SET i = i + 1;
        END WHILE;
END $$
DELIMITER ;

用CALL执行这个存储过程

CALL insert_data();

最后删除掉这个存储过程即可,如果存储过程存在,则会被删除;如果不存在,则不会执行任何操作

DROP PROCEDURE IF EXISTS insert_data;

oracle版本:

--增量
declare
i integer;--定义变量
begin
i :=1;
loop
insert into your_table(column1,column2) VALUES (value1,value2);
/*参数递增*/
i :=i+1;
/*停止条件*/
exit when i>5000000;
end loop;
commit;
end;、

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值