场景:连接数据库后,将某个表的查询结果赋值给另一条查询语句,并将查询后的结果插入到新表。
知识点:
*1.pymssql如何连接数据库
2.数据库查询传参
3.字符串之间的相互转换*
import pymssql
import numpy as np
conn=pymssql.connect(host="localhost",user="",password="",database="temp) #本地连接方式,无需密码
cursor1=conn.cursor() #创建游标1
cursor2=conn.cursor()#创建游标2
cursor3=conn.cursor()#创建游标3
cursor1.execute("""select uid from user_id""")
row=cursor.fetchall()
list=np.array(row) #转化为数组形式
for i in range (100):
a="".join(list[i])#转化数组元素为字符串形式
sql="""select count(*) from table1 where id<>%s and uid in (select a2 from table2 where a1=%s)"""
cursor2.execute(sql,(a,a))
row2=cursor2.fetchall()
num=np.array(row2)
num2=int(num[0])
sql2="""insert into table (co1,co2)values(%s,%d)"""
cursor3.execute(sql2,(a,num2))
conn.commite() #执行插入
cursor1.close()
cursor2.close()
cursor3.close()
conn.close()
print("finish")