1、sql_server插入
import pymssql
#加载连接数据库sql_server的模块
connect = pymssql.connect('127.0.0.1', 'sa', '******', 'test')
#设定变量connect 执行连接数据库 分别是ip、用户、密码、数据库选择
cursor = connect.cursor()
#设定变量cursor 创建光标
sql = "insert into c3(id, name, age) values ('12','ki','22');commit"
#执行SQL语句,向表c3插入数据,SQL_server 语句后面需要接上commit 提交,否则无法提交到数据。
try:
cursor.execute(sql)
#如果没有问题执行数据库命令
except:
connect.rollback()
#如果语句报错则滚回
cursor.close()
#关闭光标
connect.close()
#光标连接
2、sql_server 删除
import pymssql
connect = pymssql.connect('127.0.0.1', 'sa', '******', 'test')
cursor = connect.cursor()
sql = "delete from c3 where id = 12 ;commit"
try:
cursor.execute(sql)
except:
connect.rollback()
cursor.close()
connect.close()
3、sql_server 更新
import pymssql
connect = pymssql.connect('127.0.0.1', 'sa', '******', 'test')
cursor = connect.cursor()
sql = "update c3 set name = 'kki',age = '33' where id = 22 ;commit"
try:
cursor.execute(sql)
except:
connect.rollback()
cursor.close()
connect.close()
4、变量传入
import pymssql
id1 = 23
name1 = "tre"
age1 = 24
connect = pymssql.connect('127.0.0.1', 'sa', '******', 'test')
cursor = connect.cursor()
sql = "insert into c3(id, name, age) values ('%d', '%s', '%d');commit" % (id1, name1, age1)
#变量传入,使用%d 代表int类型、%s字符串类型,变量需要在commit之后传入
try:
cursor.execute(sql)
except:
connect.rollback()
cursor.close()
connect.close()
5、批量插入规律的数据
import pymssql
i = 1
name = 'user'
age = 24
connect = pymssql.connect('127.0.0.1', 'sa', '*******', 'test')
cursor = connect.cursor()
for j in range(10):
sql = "insert into c3(id, name, age) values ('%d', '%s', '%d');commit" % (i, name+str(i), age)
#插入数据的时候,i是int类型,需要转换成字符串类型使用str(i)
try:
cursor.execute(sql)
except:
connect.rollback()
i = i + 1
j = j + 1
cursor.close()
connect.close()
6、批量修改
import pymssql
connect = pymssql.connect('127.0.0.1', 'sa', '********', 'test')
cursor = connect.cursor()
sql = "select * from A8SD_GLDEPARTMENT where year = 2020 and ACCOUNTID = 001 and (oadepid = 1703065553569008174 OR oadepid = 3932086535711443527)"
#查询想要的数据转换成变量
cursor.execute(sql)
row = cursor.fetchall()
#把查询的结果转换成list列,
for i in row:
#进行循环处理
#print(i[1], i[4], i[5])
#循环打印当前列的 1 、4、 5的值
sql1 = "update A8SD_GLDEPARTMENT set UFDEPID = '%s', UFDEPNAME = '%s' where ACCOUNTID <> 001 and oadepid = '%s';commit "% (i[4], i[5], i[1])
#对自己的数据表进行数据更新处理
try:
cursor.execute(sql1)
except:
connect.rollback()
cursor.close()
connect.close()
来源:oschina
链接:https://my.oschina.net/u/4274967/blog/4280853