大批量插入数据,mysql批量更新与插入多种(数据库批量更新大量数据)

大批量插入数据,mysql批量更新与插入多种(数据库批量更新大量数据),第1张

mysql的项目,需要设计一个快速上载的机制

最后的解决办法是利用了mysql的预处理语句的特性实现的

mysql的预处理语句支持多行数据的预处理,即insertinto(columnName,columnName,)values(,,)(,,)

这样你在绑定输入参数的时候可以在程序里将整张表的数据都绑定好然后调用一次执行就能将整张表的数据插入,比用mysql_query一行一行插入省的几倍的时间

不过你一次发到mysql服务器端的数据多的情况下,要设置my

ini文件下的一个配置项,把服务器允许一次发送的数据包的大小调大就行

要把Model 转换成SQl 数据库 只能还原出结构出来
类似ORM Model First
找到这个类 对应的属性 跟类名 产生对应的表名+栏位名 的SQl Creat Table 语法

常见的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
93执行通过。

你可以重写下adapter,里面有个更新adapter的方法! 我觉得你是存储数据的list 没有更新,或者是想adapter传输的数据(比如你向adapter传输数据在list ,而你删除数据后你的list没有更改从而是它重写加载一次list)这样就不会出现删除的效果

如何使用自定义配置步骤来设置EF数据库
给你举个例子:
<pre t="code" l="csharp"> static void Main(string[] args)
{
using (MyDBEntities en = new MyDBEntities())
{
var p1 = enPeopleFirst(x =>
xName == "Jim");
ConsoleWriteLine(p1Age);
var p2 = enDatabaseSqlQuery<Person>(
@"select top 1 from person
where name = 'Jim'")
First();
ConsoleWriteLine(p2Age);
//p1 p2是同一个记录
}
ConsoleReadLine();
}

Code First 倒是可以 运行时创建新数据库,新表 (也就是 如果数据库不存在的话, 会创建)

但是 能为新表建立新Model 的 就麻烦了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13359765.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-21
下一篇 2023-07-21

发表评论

登录后才能评论

评论列表(0条)

保存