有没有人知道一个好的Python代码,可以在SQL Server中从一个数据库复制大量表(约100个表)到另一个数据库?
我之所以问是否有Python的方法来完成此操作,是因为由于我工作场所的限制,我无法仅使用SQL Server在不同数据库之间复制表。
以下是一个简单的Python代码,可以将一个表从一个数据库复制到另一个数据库。如果我想复制100个表,我想知道是否有更好的编写方式。
print('Initializing...')
import pandas as pd
import sqlalchemy
import pyodbc
db1 = sqlalchemy.create_engine("mssql+pyodbc://user:password@db_one")
db2 = sqlalchemy.create_engine("mssql+pyodbc://user:password@db_two")
print('Writing...')
query = '''SELECT * FROM [dbo].[test_table]'''
df = pd.read_sql(query, db1)
df.to_sql('test_table', db2, schema='dbo', index=False, if_exists='replace')
print('(1) [test_table] copied.')