sql 怎样实现批量插入数据?有什么方法?
发布时间:2022-04-26 08:53:47 所属栏目:系统 来源:互联网
导读:sql server怎样实现批量插入数据?我们经常会需要做插入数据操作,那么对于批量数据我们如何插入呢?下面小编就给大家分享三种插入数据方式和批量插入实例 ,感兴趣的朋友可以参考参考。 一、Sql Server插入方案介绍 关于 SqlServer 批量插入的方式,有三种
sql server怎样实现批量插入数据?我们经常会需要做插入数据操作,那么对于批量数据我们如何插入呢?下面小编就给大家分享三种插入数据方式和批量插入实例 ,感兴趣的朋友可以参考参考。 一、Sql Server插入方案介绍 关于 SqlServer 批量插入的方式,有三种比较常用的插入方式,Insert、BatchInsert、SqlBulkCopy,下面我们对比以下三种方案的速度 1.普通的Insert插入方法 public static void Insert(IEnumerable<Person> persons) { using (var con = new SqlConnection("Server=.;Database=DemoDataBase;User ID=sa;Password=8888;")) { con.Open(); foreach (var person in persons) 2.拼接BatchInsert插入语句 public static void BatchInsert(Person[] persons) { using (var con = new SqlConnection("Server=.;Database=DemoDataBase;User ID=sa;Password=8888;")) { con.Open(); var pageCount = (persons.Length - 1) / 1000 + 1; for (int i = 0; i < pageCount; i++) { var personList = persons.Skip(i * 1000).Take(1000).ToArray(); var values = personList.Select(p => $"({p.Id},'{p.Name}',{p.Age},{(p.CreateTime.HasValue ? $"'{p.CreateTime:yyyy-MM-dd HH:mm:ss}'" : "NULL")},{(int) p.Sex})"); var insertSql = $"INSERT INTO dbo.Person(Id,Name,Age,CreateTime,Sex)VALUES{string.Join(",", values)}"; using (var com = new SqlCommand(insertSql, con)) (编辑:南通站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |