python3.7 使用pymssql往sqlserver插入数据

import  pymssql
conn = pymssql.connect(host=‘szs‘,server=‘SZS\SQLEXPRESS‘,port=‘51091‘, user=‘python‘, password=‘python‘, database=‘python‘,charset=‘utf8‘,autocommit=True)cur = conn.cursor()sql = "insert into [novals] values (‘python‘,‘python‘,‘python‘,‘python‘);COMMIT "try:   cur.execute(sql)except:   conn.rollback()cur.close()conn.close()
 

数据的插入需要在sql语句后加上COMMIT,同时需要在连接处设置autocommit=True,如果没有我试过插入不成功。

之前查过看见很多人说在cur.execute(sql)后面使用conn.commit(),但是我试了很多次都不成功,直到看到https://blog.csdn.net/markchiu/article/details/50833504,抱着试一试的态度,竟然成功,很无语!特此记录

原文地址:https://www.cnblogs.com/xifengmo/p/10994712.html

时间: 2024-08-01 17:48:40

python3.7 使用pymssql往sqlserver插入数据的相关文章

C#中往SQLServer插入数据时遇到BUG

错误信息如下: “System.Data.SqlClient.SqlException”类型的未经处理的异常在 System.Data.dll 中发生 其他信息: “”附近有语法错误. 文字版代码如下: 1 sqlCmd.CommandText =string.Format( "insert into [dbo].[Table4Test]([ID],[Name],[Password])values({0},'{1}','{2}')", dataOfItem[0],dataOfItem[

sqlserver插入数据后自动返回自增编号方法

以下是代码 比如这个表里面的id是主键,并且是自增的 insert into demo() output inserted.id  values('a','b'); 使用output inserted.(自增的编号的字段名) 这样就出来了.

python 编写 SQLSERVER,ORACLE,MYSQL 数据查询及插入数据

SQLSERVER方法: 插入数据代码演示(上下文管理器方法): import pymssql,uuidfrom class_area.class_ReadConf import ReadDate #导入读取配置文件模块方法sql_data=ReadDate('sqlserver.conf','DATABASE','config').readdata() read_data=ReadDate('area.conf','AREAS','config').readdata()area_read_2=

用SqlBulkCopy批量插入数据到SqlServer数据库表中

首先创建一个数据库连接类:SQLHelper using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; namespace insetData { public class SQLHelper { public static readonly string Strconn = "Data

sql 批量插入数据到Sqlserver中 效率较高的方法

使用SqlBulk #region 方式二 static void InsertTwo() { Console.WriteLine("使用Bulk插入的实现方式"); Stopwatch sw = new Stopwatch(); DataTable dt = GetTableSchema(); using (SqlConnection conn = new SqlConnection(StrConnMsg)) { SqlBulkCopy bulkCopy = new SqlBulkC

C#_批量插入数据到Sqlserver中的四种方式

先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的是GUID,表中没有创建任何索引.GUID必然是比自增长要快的,因为你生成一个GUID算法所花的时间肯定比你从数据表中重新查询上一条记录的ID的值然后再进行加1运算要少.而如果存在索引的情况下,每次插入记录都会进行索引重建,这是非常耗性能的.如果表中无可避免的存在索引,我们可以通过先删除索引,然后批量插入,最后再重建索引的方式来提高效率. create database CarSYS;    go    use CarSYS;  

向SqlServer数据库插入数据

Insert Values Insert Select Insert Exec Select Into Bulk Insert Insert Values是最常用的一种插入数据的方式,基本语法如下,表名之后可以指定目标列的名称,这种显式的指定目标列的名称是可选的,但是这种做法的好处是对语句的列值列名之间的关联关系进行控制,而不必单纯的依赖定义表时 各个列出现的顺序 INSERT INTO dbo.DimDate ( DataKey , Year , Qu , QuCN , Month , Mon

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

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

sqlserver存储过程批量插入数据

在系统中经常会遇到向数据库中批量插入数据情况,存储过程中没有数组,只有通过字符串分割循环插入,下面是一个本人研究的一个例子: create proc [dbo].[Proc_TestBatchMainDetailIns] @mainName nvarchar(50),@detailNameStr nvarchar(max),@detailAgeStr nvarchar(max), @detailRowCount int=1,@tmpFlag int=1,@newMainId int=0 as b