私はsqlite3が持っていることを知っています
data = {'test_col': 012345679}
sqlite3_conn.execute("""
UPDATE test_db SET test_col = :test_col
;""", data)
mysql-connector-pythonには
data = {'test_col': 012345679}
mysql_conn.execute("""
UPDATE test_db SET test_col = %(test_col)s
;""", data)
しかし、pyodbcは任意の形式の名前付きパラメーターをサポートしていますか? dict
をexecuteメソッドに渡すことができるのが好きです。これは非常に便利で、INSERT INTO ... ON DUPLICATE KEY UPDATE
などのいくつかのクエリでは、これが必要です。
名前付きパラメーターはサポートされていませんが、正しい順序で渡されるバインドされたパラメーターはかなり簡単です。
x = "This"
y = 345
mssql_cur.execute("SELECT * FROM mytable WHERE colx = ? AND coly = ?", x, y)
または
mssql_cur.execute("SELECT * FROM mytable WHERE colx = ? AND coly = ?", (x, y))
executemany
パラメータの受け渡しなど、詳細とオプションは次のとおりです。
https://github.com/mkleehammer/pyodbc/wiki/Cursor
幸運を!