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()
相关推荐
淬炼之火2 分钟前
笔记:对MoE混合专家模型的学习和思考
人工智能·笔记·学习·语言模型·自然语言处理
鸟电波4 分钟前
硬件笔记——Allegro绘制PCB(未完待续)
笔记·嵌入式硬件·智能硬件
中屹指纹浏览器4 分钟前
2026分布式多账号运维体系中指纹浏览器的架构设计与工程落地
经验分享·笔记
斯班奇的好朋友阿法法9 分钟前
Django 项目打包部署完整指南(适配你的项目,零报错)
python·django·sqlite
林开落L9 分钟前
【项目实战】博客系统完整测试报告(含自动化+性能测试)
python·功能测试·jmeter·自动化·postman·性能测试·xmind
JustNow_Man10 分钟前
【opencode】使用方法
linux·服务器·网络·人工智能·python
abigale0311 分钟前
.py 与 .ipynb 的核心差异 + Jupyter 内核缓存坑全解析
python·jupyter
布局呆星11 分钟前
Vue3+TS 笔记:Props 与 Emits 的正确打开方式
javascript·vue.js·笔记
Dxy123931021615 分钟前
Python使用SymSpell详解:打造极速拼写检查引擎
开发语言·python
talen_hx29616 分钟前
《kafka核心源码解读》学习笔记 Day 02
笔记·学习·kafka