高效率的開源工具:在python操作簡潔的sql代碼(開源 sql)

更多互聯(lián)網(wǎng)新鮮資訊、工作奇淫技巧關注原創(chuàng)【飛魚在浪嶼】(日更新)


SQL語句是代碼,可以編寫,對其進行版本控制,對其進行注釋并使用文件保存運行它。如果在Python程序中以字符串形式編寫SQL代碼不會使你輕松在數(shù)據(jù)庫GUI工具或CLI工具(如psql)中重用SQL語句。而使用aiosql(地址:https://github.com/nackjicholson/aiosql),可以將SQL語句組織為.sql文件,將它們作為加載到python應用程序中,SQL還是以文件形式保存。

aiosql適用于的場景有:

  • 你認為編寫SQL是應用程序的重要組成部分,希望以文件保存。
  • 不想用與Python代碼混合編寫SQL。
  • 沒有使用像SQLAlchemy或Django這樣的ORM,也不需要。
  • 希望能夠在其他上下文中重用您的SQL。將其加載到psql或其他數(shù)據(jù)庫工具中。

安裝

pip install aiosql

或者使用poetry管理工具:

poetry add aiosql


高效率的開源工具:在python操作簡潔的sql代碼(開源 sql)

使用方法

假設您有一個SQL文件,如下所示: users.sql

-- name: get-all-users-- Get all user recordsselect userid, username, firstname, lastname from users;-- name: get-user-by-username^-- Get user with the given username field.select userid, username, firstname, lastname from users where username = :username;

使用aiosql加載此文件,然后在文件中編寫SQL并從python中的方法執(zhí)行?。?/p>

import aiosqlimport sqlite3conn = sqlite3.connect("myapp.db")queries = aiosql.from_path("users.sql", "sqlite3")users = queries.get_all_users(conn)# >>> [(1, "nackjicholson", "William", "Vaughn"), (2, "johndoe", "John", "Doe"), ...]users = queries.get_user_by_username(conn, username="nackjicholson")# >>> (1, "nackjicholson", "William", "Vaughn")


高效率的開源工具:在python操作簡潔的sql代碼(開源 sql)

相關新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部