十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一条insert语句批量插入多条记录
公司主营业务:成都网站建设、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出佳县免费做网站回馈大家。
常见的insert语句,向数据库中,一条语句只能插入一条数据:
insert into persons
(id_p, lastname , firstName, city )
values(204,'haha' , 'deng' , 'shenzhen');
(如上,仅插入了一条记录)
怎样一次insert插入多条记录呢?
示例:
insert into persons
(id_p, lastname , firstName, city )
values
(200,'haha' , 'deng' , 'shenzhen'),
(201,'haha2' , 'deng' , 'GD'),
(202,'haha3' , 'deng' , 'Beijing');
这样就批量插入数据了, 遵循这样的语法,就可以批量插入数据了。
执行成功
可以使用存储过程。在里面使用循环呢。
存储过程定义好以后,可以使用call 存储过程名称();的方式调用。
如果有参数,就在括号中添上参数值。
本文实例讲述了MySQL实现创建存储过程并循环添加记录的方法。分享给大家供大家参考,具体如下:
先创建,然后调用:
--
创建存储过程
DELIMITER;//
create
procedure
myproc()
begin
declare
num
int;
set
num=1;
while
num
=
24
do
insert
into
t_calendar_hour(hourlist)
values(num);
set
num=num+1;
end
while;
commit;
end;//
--
调用存储过程
CALL
myproc();
PS:这里再为大家推荐2款常用的sql在线工具供大家参考使用(包含SQL语句用法说明):
SQL在线压缩/格式化工具:
SQL代码在线格式化美化工具:
更多关于MySQL相关内容感兴趣的读者可查看本站专题:《MySQL存储过程技巧大全》、《MySQL常用函数大汇总》、《MySQL日志操作技巧大全》、《MySQL事务操作技巧汇总》及《MySQL数据库锁相关技巧汇总》
希望本文所述对大家MySQL数据库计有所帮助。
CREATE DEFINER= XXXXXX @ % PROCEDURE PRO_taxpayer_invoice_statistical ()
BEGIN
DECLARE v_unifiedcredit_code VARCHAR(64);
DECLARE v_max_date datetime;
SELECT MAX(sii.created_on) INTO v_max_date
FROM sj_taxpayer_invoice_statistical_info sii;
SELECT 1;
END
已经测试,创建并运行下面的存储过程可以循环添加数据:
create procedure dowhile()
begin
declare i int default 0;
start transaction;
while i50 do
insert into users(userId,userName,userPwd) values(null,concat('s00',i),123456);
set i=i+1;
end while;
commit;
end;
delimiter;
这个aa就是你insert的id值.这个语句是针对当前线程的,如果别人也insert了内容,互相不会干扰.可以安全的使用你第一次执行insert后,再立刻执行一条“select last_insert_id() as aaquot。
1.如果你觉得用,select max(id) from 表名称,会和别的人产生冲突,你可以select idfrom, 表名称where ,userid=你的id,order by insertDate desc limit 1。
2.有用户写记录的表,userid这个域是应该有的,插入或者更新时间也是有的,按照时间顺序倒排以下即可。
3.如果userid和时间没有的话,个人觉得这个表的设计就不太。