2017-03-27 6 views
0

私はMS SQL Serverに接続し、PythonでSQLコマンドを実行したいと思います。 SQLAlchemyを使用してSQLテーブル、pandas DataFramesなどを作成する方法に精通していますが、python/pandas/SQLAlchemyを使用して.sqlファイルでSQLを実行するにはどうすればよいですか?それを行うより良い方法はありますか?PythonでSQLコマンドを実行するには?

truncate table dev.dbo.jobs 
truncate table dev.dbo.workers 
go 
insert into dev.dbo.jobs select * from test.dbo.jobs 
insert into dev.dbo.workers select * from test.dbo.workers 
+0

はすでに回答 - http://stackoverflow.com/questions/33725862/connecting-to-microsoft-sql-serverを参照してください。 -using-python –

答えて

2

あなたは生のSQLクエリを実行するために、SQLAlchemyののconnection.executeを使用することができます。

は、例えば私は、SQLテキストを含むファイル「update.sql」を持っています。あなたがファイルに保存されているSQL文を持っている場合、それは次のようになります。

from sqlalchemy import create_engine 
from sqlalchemy.sql import text 

engine = create_engine('urltodb') 
conn = engine.connect() 

with open('file.sql', 'r') as f: 
    for l in f: 
     stmt = text(l) 
     conn.execute(stmt) 

conn.close() 
+0

この接続を閉じる必要がありますか、それとも閉じますか? – Ben

+0

接続の使用を終了した場合は、接続をプールに解放するために接続を閉じることをお勧めします。この例を更新します。 – WillySchu

関連する問題