十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
用存储过程,写个循环给你个我以前写的看看
成都创新互联是一家朝气蓬勃的网站建设公司。公司专注于为企业提供信息化建设解决方案。从事网站开发,网站制作,网站设计,网站模板,微信公众号开发,软件开发,微信平台小程序开发,十余年建站对成都木托盘等多个方面,拥有多年的网站推广经验。
begin
declare i int;
declare b int;
declare c int;
set @i=2;
set @b=6;
set @c=0;
set @stmt = concat('insert into t_j_goods_name (id,`code`,`name`)
values(?,?,(select distinct `a` from sheet1 limit ?, 1))');
while @i442 do
prepare s1 from @stmt;
execute s1 using @b,@i,@c;
deallocate prepare s1;
set @i=@i+1,@b=@b+1,@c=@c+1;
end while;
end
常见的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');
这样就批量插入数据了, 遵循这样的语法,就可以批量插入数据了。
执行成功,截图:
据说,在程序开发中,一次插入多条数据,比逐次一条一条的插入数据,效率高很多
所以在程序开发的时候,使用此批量插入,也是比较不错的。
此语句在MySQL 5, postgreSQL 9.3执行通过。
第一、看你的sql文本的结构分析才能知道最佳方案!
第二、表中的字段, 你可以给他设置一个默认值或者设置可以为空, 这样, 字段不写入值也可以
但如果,你的字段没有默认值, 又不允许为空, 那么, 就必须写入值, 否则插入数据会不成功!
一次插入多行数据
insert
into
表名[(字段列表)]
values(值列表1),(值列表2),...(值列表n);
例如:
insert
into
students(sid,sname,dob)
values
('001','张三','2001-02-03'),
('002','李四','2002-02-03'),
('003','王五','2003-02-03');
将一张表或查询中的数据插入到另一张表里
insert
into
表名(字段列表)
select
(字段列表)
from
源表
where
筛选表达式;
例如将表2中的记录全部插入到表1,假设它们的结构一样
insert
into
表1(*)
select
*
from
表2;