我有一個字典格式的數據行。有沒有簡單的方法將其插入到MySQL表中。我知道我可以編寫自定義函數來將dict轉換爲自定義sql查詢,但我正在尋找更直接的選擇。MySQLdb在表格中插入一個字典
2
A
回答
2
MySQLDB沒有提供任何允許直接操作的東西。這是各種答案的常見問題,包括用於此目的的自定義功能。
根據我的經驗,最好的辦法是絕大部分時間都要寫下參數化SQL。如果你同樣的事情發生了很多,那麼我會考慮把它分解成一個效用函數。但是,如果您使用參數手動編寫靜態SQL,那麼大多數安全和錯誤相關問題都會得到解決。當你開始將你的SQL基於來自where(?)的數據字典時,你需要更謹慎。
總之,如果您只是簡單地編寫查詢,使用參數和文檔,您的代碼可能會更具可讀性,可維護性和安全性。
(注:ORM的一些支持者,等等可能不同意...這是基於很多對什麼是簡單的,可靠的體驗意見,並努力爲我們的團隊)
4
那麼...根據文檔paramstyle
:
設置爲'format'= ANSI C printf格式代碼,例如'... WHERE name =%s'。 如果映射對象用於conn.execute(),則接口 實際上使用'pyformat'= Python擴展格式代碼,例如, '... WHERE name =%(name)s'。然而,API目前不允許 超過一個風格paramstyle規範
所以,它應該是像下面這樣:
curs.execute("INSERT INTO foo (col1, col2, ...) VALUES (%(key1)s, %(key2)s, ...)", dictionary)
其中key1
,key2
等。將會是字典中的關鍵字。
免責聲明:我沒有嘗試過這個自己:)
編輯:是的,試了一下。有用。
相關問題
- 1. 如何在Python字典中插入一個列表作爲鍵
- 2. 在tabfile中插入字典
- 3. 在MySQL表中插入一個名字'
- 4. Python MySQLdb更新列表字典
- 5. 在一個表格中插入和更新不同的表格
- 6. 如何插入一個表包含多個字典到MySQL表中?
- 7. 根據單詞/字典插入空格
- 8. 當其中一個元素是Python字典時,向MySQL表中插入一行
- 9. 使用Python和MySQLdb插入表
- 10. 從一個表格插入多個mysql
- 11. 在表格行中插入表格行
- 12. 如何從表格中提取並插入另一個表格
- 13. 從Laravel的一個表格中插入不同表格5
- 14. Python - mysqldb插入unicode失敗
- 15. 在表格中增加計數,同時在另一個表格中插入值
- 16. 在表格中插入行
- 17. 試試在字典中插入字典返回零
- 18. 通過Matlab在Excel表格中插入一個圖表
- 19. 插入表格插入表
- 20. 在列表中生成一個字典
- 21. 在列表中添加一個字典
- 22. SQLAlchemy批量插入字典列表
- 23. 插入瑞典字符Opencart的表
- 24. 在數據庫MySQLdb中插入列表Python3.6
- 25. 在python中從一個網格插入到另一個網格
- 26. 將記錄插入另一個表格
- 27. 如何插入字典中的第一個元素?
- 28. Django,從字典項目列表中顯示一個HTML表格
- 29. 在一個表中插入多個行
- 30. 如何在表格中插入表單輸入字段?