Python采集学习笔记-SQL Server不同表的数据转移

(同一数据库表数据转移)源码

python 复制代码
import pyodbc

# 连接数据库
server = 'DESKTOP-HAI1BEH'
database = 'T1'
driver = '{ODBC Driver 17 for SQL Server}'
conn = pyodbc.connect(f'DRIVER={driver};SERVER={server};DATABASE={database};Trusted_Connection=yes;')
# 查询数据
cursor = conn.cursor()
cursor.execute('select top 3 * from emp')

# 获取查询结果
results = cursor.fetchall()
for result in results:
    # 插入方法1
    # cursor.execute('insert into emp_copy (id,name,password,date) values(?,?,?,?)',result.id,result.name,result.password,result.date)
    # 插入方法2
    cursor.execute(f"insert into emp_copy (id,name,password,date) values('{result[0]}','{result[1]}','{result[2]}','{result[3]}')")
conn.commit()
print("数据插入成功!")
# 关闭游标和连接
cursor.close()
conn.close()

(不同数据库表数据转移)源码

python 复制代码
import pyodbc

# 连接源数据库
source_conn_str = 'DRIVER={ODBC Driver 17 for SQL Server};SERVER=DESKTOP-HAI1BEH;DATABASE=T1;UID=sa;PWD=pwd_Admin'
source_conn = pyodbc.connect(source_conn_str)
source_cursor = source_conn.cursor()
print('source连接成功')

# 连接目标数据库
target_conn_str = 'DRIVER={ODBC Driver 17 for SQL Server};SERVER=DESKTOP-HAI1BEH;DATABASE=T2;UID=sa;PWD=pwd_Admin'
target_conn = pyodbc.connect(target_conn_str)
target_cursor = target_conn.cursor()
print('target连接成功')
try:
    # 查询源数据库的T1表emp前10条数据
    source_cursor.execute('SELECT TOP 10 * FROM T1.dbo.emp')
    rows = source_cursor.fetchall()

    # 插入数据到目标数据库T2的emp表中
    for row in rows:
        target_cursor.execute("INSERT INTO T2.dbo.emp VALUES (?, ?, ?, ?)", row.id, row.name, row[2], row[3])

    # 提交事务
    target_conn.commit()
    print("数据插入成功!")

except Exception as e:
    # 发生异常时回滚事务
    target_conn.rollback()
    print("数据插入失败:", str(e))

finally:
    # 关闭连接
    source_cursor.close()
    source_conn.close()
    target_cursor.close()
    target_conn.close()
相关推荐
CC数学建模33 分钟前
2026年第十六届APMCM 亚太地区大学生数学建模竞赛(中文赛项)赛题B题:高性能芯片热管理系统的优化问题完整思路、代码、模型、文章,全网首发高质量分享!
python·算法·数学建模
Maydaycxc35 分钟前
Python 实现 RPA + AI 自动化:大模型 OCR + 网页操作完整源码实战
人工智能·python·opencv·selenium·自动化·ocr·rpa
stephon_10039 分钟前
从零设计 Agent 上下文压缩:三级流水线与动态阈值,治好 context too long(附开源实现)
人工智能·python
love530love41 分钟前
Anaconda Navigator 升级后图形界面启动失败故障修复实录
人工智能·windows·python·anaconda·navigator
爱睡懒觉的焦糖玛奇朵42 分钟前
【视觉检测之人员奔跑检测算法开发思路】
人工智能·python·深度学习·算法·yolo·视觉检测
05候补工程师1 小时前
【408考研复习】数据结构核心笔记:字符串模式匹配与内部排序算法全解析
数据结构·经验分享·笔记·考研·算法·排序算法
装不满的克莱因瓶1 小时前
掌握生成对抗网络(GAN)原理——从零理解“对抗学习”的核心思想与生成机制
人工智能·pytorch·python·深度学习·神经网络·机器学习·ai
问心无愧05131 小时前
ctf show web入门107
android·前端·笔记·android studio
一尘之中1 小时前
基于架构的软件开发方法
学习·架构·ai写作
王小王-1231 小时前
基于Django的个性化餐饮场所推荐系统
后端·python·django·个性化餐厅推荐·个性化餐饮推荐