如何一次向数据库中插入多条数据

dpshui 2012-05-17 09:08:02
我想问下,就是假设我数据库中的表aa有8个字段,但是我一次就有100条数据要往里插,只能调用100次insert语句吗?
...全文
5013 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
东方项天 2013-05-28
  • 打赏
  • 举报
回复
通过变量传给SQl语句进行插入,如果循环插入的话只能插入第一条,这是怎么回事?????????
fengerfei2000 2012-05-18
  • 打赏
  • 举报
回复
你随便找一个表,只要记录大于100的比如table1表有1000条记录不管是什么表

insert into aa
select top 100 @c1,@c2,@c3,@c4,@c5,@c6,@c7,@c8 from table1

这样最简单。你也不用写很多union all语句。
Lyongt 2012-05-17
  • 打赏
  • 举报
回复
Insert Into AA
Select C1, C2, C3, C4, C5, C6, C7, C8
Union
Select C1, C2, C3, C4, C5, C6, C7, C8
Union
……
Select C1, C2, C3, C4, C5, C6, C7, C8
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

哦,那我存成"",那么这个字段我定义成什么类型呢?varchar(10),如果这个字段有数据最大也是10个字节。
[/Quote]

这个可以
dpshui 2012-05-17
  • 打赏
  • 举报
回复
哦,那我存成"",那么这个字段我定义成什么类型呢?varchar(10),如果这个字段有数据最大也是10个字节。
fengerfei2000 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

还有个问题,我向数据库存储,如果有一个数据为空,我是往里存""(空)好呢,还是存null好?这些的存的数据,我以后还要取的。
[/Quote]
你存""要好些。NULL在查询上面效率比较低的。
Felixzhaowenzhong 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
还有个问题,我向数据库存储,如果有一个数据为空,我是往里存""(空)好呢,还是存null好?这些的存的数据,我以后还要取的。
[/Quote]

""(空) 占用存储空间,NULL 不占用存储空间
dpshui 2012-05-17
  • 打赏
  • 举报
回复
还有个问题,我向数据库存储,如果有一个数据为空,我是往里存""(空)好呢,还是存null好?这些的存的数据,我以后还要取的。
AcHerat 元老 2012-05-17
  • 打赏
  • 举报
回复
当然你也可以用你的数组生成 insert 拼接的SQL语法,保存为SQL文件,再到数据库调用下。
ABCDEF 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
SQL code


insert into aa(A,B)
select 'a','b'
union all
select 'c','d'
.......
[/Quote]+++
天-笑 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
如果有100条数据,那代码行数不就是100行,我是把要存的数据都存在一个数组中了,有没有可以不用写这么多行代码的方法?谢谢你们的回答,这个比一条一条的插好多了!
[/Quote]

我这两个办法
1:把你数组中的数据 组织成xml 一次提交给数据库,数据库上建立存储过程,解析你提交的xml一次性入库
2:把你的insert 语句参数化 例如:insert into t(c1,c2...c8) values(?,?,?,?,?,?,?,?)
循环你的数组,每次变更参数提交 即可
fengerfei2000 2012-05-17
  • 打赏
  • 举报
回复
你随便找一个表,只要记录大于100的

insert into XXX
select top 100 @a,@b,@c,@d from table1
dpshui 2012-05-17
  • 打赏
  • 举报
回复
如果有100条数据,那代码行数不就是100行,我是把要存的数据都存在一个数组中了,有没有可以不用写这么多行代码的方法?谢谢你们的回答,这个比一条一条的插好多了!
孤独加百列 2012-05-17
  • 打赏
  • 举报
回复
如果数据可以通过SELECT语句选取,可以SELECT ... INTO Tablename 来直接插入
如果数据在系统中有文件存储可以通过SQL Server 的导入导出功能将数据导入到指定表中
若果以上都没有,INSERT INTO tablename VALUES (,,,),(,,,),...
天-笑 2012-05-17
  • 打赏
  • 举报
回复

insert into aa
select c1,c2,c3,c4,c5,c6,c7,c8 union all
select c1,c2,c3,c4,c5,c6,c7,c8 union all
select c1,c2,c3,c4,c5,c6,c7,c8 union all
......
select c1,c2,c3,c4,c5,c6,c7,c8


SqlServer2008 2012-05-17
  • 打赏
  • 举报
回复

insert into aa(A,B)
select 'a','b'
union all
select 'c','d'
.......
dpshui 2012-05-17
  • 打赏
  • 举报
回复
insert into t(c1,c2...c8) values(?,?,?,?,?,?,?,?)
这个应该怎么给?赋值,如果采用这种方法,用for循环给?赋值,那么我想问下,插入数据的动作是执行了for的循环次数呢,还是一次?
SQL code

insert into aa
select c1,c2,c3,c4,c5,c6,c7,c8 union all
select c1,c2,c3,c4,c5,c6,c7,c8 union all
select c1,c2,c3,c4,c5,c6,c7,c8 union all
......
select c1,c2,c3,c4,c5,c6,c7,c8

这种方法应该插入动作只执行一次吧?
發糞塗牆 2012-05-17
  • 打赏
  • 举报
回复
针对你的问题,有以下的思路可以参考:
1、如果你那100条记录已经存在了,比如是txt、excel,那么用bcp插入即可。
2、如果存在,但是是数据库里面的一个表,或者多个表,那么你就用insert into aa(xx) select xx from 表。
3、如果有生成的规则,那么就要先生成再插入。插入这个动作只需要执行一次,但是value那个部分可以有多重方式。建议你看看insert的详细语法(联机丛书)。上面会有很多中使用方式的。
zczhangchao2003 2012-05-17
  • 打赏
  • 举报
回复
将要插入的这100条数据如果没啥规律的话,代码肯定不知道您要录入什么数据,所以肯定是100条插入语句
anzhiqiang_touzi 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
SQL code

insert into aa
select c1,c2,c3,c4,c5,c6,c7,c8 union all
select c1,c2,c3,c4,c5,c6,c7,c8 union all
select c1,c2,c3,c4,c5,c6,c7,c8 union all
......
select c1,c2,c3,c4,c5,c6,c7,c8


……
[/Quote]
加载更多回复(3)
毫米波雷达系统工作在毫米波频段,通过发射与接收电磁波并解析回波信号,实现对目标的探测、定位及识别。相较于传统雷达技术,该系统在测量精度、环境抗干扰性及气象适应性方面表现更为优越。本研究聚焦于德州仪器开发的IWR1843DCA1000型号毫米波雷达,系统探究其在多模态数据采集与多样化应用场景的技术路径及创新实践。 IWR1843DCA1000传感器为一款高度集成的毫米波探测设备,采用调频连续波技术与多输入多输出架构,可执行高精度目标测量及成像任务。研究过程,团队对该设备的性能参数进行了全面评估,并在下列领域展开应用探索: 在数据采集环节,借助专用硬件接口连接雷达传感器,实现原始信号的高效捕获。团队研发了配套的数据采集程序,能够实时记录传感器输出并执行初步信号处理,为后续分析构建数据基础。 通过构建FMCW-MIMO雷达仿真平台,完整复现了雷达波的发射接收流程及信号处理机制。该仿真系统能够模拟目标运动状态及环境变量对雷达波形的影响,为系统性能验证与参数优化提供数字化实验环境。 基于高分辨率测距能力,结合目标检测与轨迹追踪算法,实现对人体运动模式的精确重构。通过点云数据的解析,为行为模式分析与场景理解提供多维信息支撑。 利用雷达回波信号的深度解析,生成表征人体空间分布的热力图像。该技术为复杂环境下的定位问题提供了直观可视化解决方案。 针对精细手势动作的识别需求,应用机器学习方法对雷达生成的点云序列进行特征提取与模式分类,建立手势动作的自动识别体系。 通过分析人体表面对毫米波信号的反射特性,开发非接触式生理参数监测方法,可有效检测呼吸韵律与心脏搏动频率等生命体征指标,为健康监护领域提供新的技术途径。 本研究的顺利开展,不仅深化了IWR1843DCA1000雷达系统的应用研究层次,同时为毫米波技术在多元领域的拓展应用建立了技术支撑体系。通过实证分析与仿真验证相结合的研究模式,该项目为行业应用提供了可靠的技术参照与实践范例,有力推动了毫米波雷达技术的产业化进程。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
基于直接模拟蒙特卡洛(DSMC)方法的气体分子运动仿真工具,为微观尺度气体动力学研究提供数值计算支持。该计算工具通过统计方法模拟稀薄条件下气体粒子的运动轨迹与碰撞行为,适用于航空航天工程、微纳流体系统等存在低密度气体效应的技术领域。 为便于高等院校理工科专业开展数值仿真教学,开发者采用矩阵实验室(Matlab)平台构建了模块化仿真程序。该程序兼容多个Matlab发行版本(2014a/2019b/2024b),内置标准化案例数据集可实现开箱即用。程序架构采用参数化设计理念,关键物理参数均通过独立变量模块进行管理,支持用户根据具体工况调整分子数密度、边界条件和碰撞模型等参数。 代码实现遵循计算流体力学的最佳实践规范,主要特征包括:采用分层模块架构确保算法逻辑清晰,关键计算单元配备完整的物理注释,变量命名符合工程仿真惯例。这种设计既有利于初学者理解分子动力学模拟原理,也方便研究人员进行算法改进与功能拓展。 该教学工具主要面向计算机科学、电子工程、应用数学等专业的本科教学场景,可用于课程实验、综合设计项目及学位论文等学术活动。通过将抽象的气体动力学理论转化为可视化的数值实验,有效促进学生对统计物理与计算方法的融合理解。在工程应用层面,该工具能胜任微机电系统流场分析、高海拔空气动力学特性研究、纳米孔道气体输运等现象的定量评估。 随着微纳制造与空间技术的发展,稀薄气体仿真在半导体工艺优化、临近空间飞行器设计等前沿领域的应用价值日益凸显。本仿真工具通过提供可靠的数值实验平台,为相关领域的科研创新与人才培养提供技术支持。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!

34,872

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧