批量插入数据库数据,有则更新,无则追加

# 批量插入数据库数据,有则更新,无则追加import pymysqlimport numpy as npimport pandas as pdconn = pymysql.connect(            host=‘127.0.0.1‘,            port=3306,            user=‘root‘,            passwd=‘root‘,            db=‘py3_userinfo‘,            charset=‘utf8‘        )# 游标cur = conn.cursor()df = pd.DataFrame([[‘合肥‘, 12, 110],[‘北京‘, 11, 112],[‘上海‘, 11, 113],[‘上海‘, 100, 113]],columns=[‘name‘, ‘age‘, ‘tel‘])train_data = np.array(df) # np.ndarray()train_x_list=train_data.tolist()  # listsql="insert into student(name,age,tel) values(%s,%s,%s) ON DUPLICATE KEY UPDATE age=age+values (age)"cur.executemany(sql,train_x_list)conn.commit()conn.close()

原文地址:https://www.cnblogs.com/chenyibai/p/11063698.html

时间: 2024-08-04 19:25:00

批量插入数据库数据,有则更新,无则追加的相关文章

.Net批量插入数据到SQLServer数据库,SqlBulkCopy类批量插入大数据到数据库

批量的的数据导入数据库中,尽量少的访问数据库,高性能的对数据库进行存储. 采用SqlBulkCopy来处理存储数据.SqlBulkCopy存储大批量的数据非常的高效,将内存中的数据表直接的一次性的存储到数据库中,而不需要一次一次的向数据库Insert数据. 经过几次实验,百万级别的数据表,也只需几秒时间内就可以完全的存入数据库中,其速度,比传统的Insert into方法不止快很多倍. 下面看代码: /// <summary> /// 批量插入数据 /// </summary> /

使用SqlBulkCopy将DataTable中的数据批量插入数据库中

#region 使用SqlBulkCopy将DataTable中的数据批量插入数据库中 /// <summary> /// 注意:DataTable中的列需要与数据库表中的列完全一致. /// </summary> /// <param name="conStr">数据库连接串</param> /// <param name="strTableName">数据库中对应的表名</param> //

ADO.NET 新特性之SqlBulkCopy(批量插入大量数据)

转自:http://blog.csdn.net/huaer1011/article/details/2312361 在.Net1.1中无论是对于批量插入整个DataTable中的所有数据到数据库中,还是进行不同数据源之间的迁移,都不是很方便.而在.Net2.0中,SQLClient命名空间下增加了几个新类帮助我们通过DataTable或DataReader批量迁移数据.数据源可以来自关系数据库或者XML文件,甚至WebService返回结果.其中最重要的一个类就是SqlBulkCopy类,使用它

DataTable批量插入数据库

DataTable批量插入数据库 最近在将excel中的文件导入到数据库中,用程序进行编写,由于数据量较大所以速度很慢,后来采用了SqlBulkCopy类,解决了速度的问题,我就insert语句,sqldataadapter.update(dataset,tablename);sqlbulkcopy.WriteToServer(datatable);三个方法的性能进行比较: 1.生成测试的datatable表,表结构如下: UniqueID(主键,自动增长) | CompanyName | Co

MYSQL批量插入数据库实现语句性能分析

假定我们的表结构如下 代码如下   CREATE TABLE example ( example_id INT NOT NULL, name VARCHAR( 50 ) NOT NULL, value VARCHAR( 50 ) NOT NULL, other_value VARCHAR( 50 ) NOT NULL ) 通常情况下单条插入的sql语句我们会这么写: 代码如下   INSERT INTO example (example_id, name, value, other_value)

Word中表格内容批量插入数据库

一.内容概要 1,下载jacob.jar,将jacob自带的DLL放入SYSTEM32中,确保电脑装了WORD程序: 2,方法是:FILE[]遍历特定文件夹,JACOB读取WORD中表格的内容,封装成arraylist,然后批量插入数据库 二.核心码 1,words.java;遍历文件夹,取出word表格中的内容到arraylist package main.java.utils; import java.io.File;//用于遍历文件夹下所有文件 import java.util.Array

LoadRunner11之批量插入SQL数据~2

LoadRunner11之批量插入SQL数据 1.背景:数据库需要大量数据时,通过前台界面录入数据,是一个很麻烦的事情,这个时候可以借助工具来对数据库进行批量插入. 2.协议选择:我们选择的是LoadRunner11+webservice协议. 3.分析工作:(1)在录制之前,需要分析插入数据表字段的特性,是唯一还是随机,是否需要拼接等等 (2)表和表之间的关系,主外键以及关联的字段等 目的:为了更好的参数化数据,便于造的数据更加接近真实数据. 目前有2个表,student和stuclass c

Java MySql 批量插入数据库addBatch

//addBatch批量插入数据库 public static void insertCommentToMySql(Set<String> commentList) { Iterator<String> it = commentList.iterator(); Statement st=null; try { st = DBConnection.getConnection(dbName,dbUser,dbPwd).createStatement(); } catch (SQLExc

大数据批量插入数据库使用(SqlBulkCopy )效率更高

SqlBulkCopy类是System.Data.SqlClient下的类,我们开发中不常用,甚至不知道有这么一个类的存在,但确实比sql插入,事务批量插入,sql批量拼接插入快很多,比调用存储过程插入方便 下面是它的用法: public static bool ExecuteTransactionScopeInsert(DataTable dt, int batchSize) { int count = dt.Rows.Count; string tableName = "TestTable&