上篇文章介紹了Flask SQLalchemy的基本用法,包括安裝、配置資料庫、模型定義及創建資料庫,今天我會介紹一些資料庫的操作。
在Flask SQLAlchemy中,想要添加一筆新的數據非常簡單,以昨天的例子,我們的資料庫User
裡面有username
、password
、mail
這幾個欄位,我們現在想要新增一筆資料可以這樣做:
user = User(username='admin',password='admin',mail='test@tset.com')
db.seesion.add(user)
db.session.commit()
我們先定義一筆資料,並把我們要新增進去的資料都寫在user
變數中,並透過db.session.add()
將資料添加到資料庫裡,
在Flask SQLAlchemy中,查詢資料同樣非常方便。可以使用.query
屬性來查詢資料,以下是一些示例:
all_users = User.query.all()
這會返回一個包含所有 User 物件的列表,每個物件代表資料表中的一行。
filter_by
或filter
方法。例如,如果你想找到 username
是'admin'
的使用者:admin_user = User.query.filter_by(username='admin').first()
這將返回符合條件的第一筆資料,如果找不到符合條件的資料,則返回None
。
mail
以'example.com'
結尾的使用者:import sqlalchemy
result = User.query.filter(sqlalchemy.func.endswith(User.mail, 'example.com')).all()
要更新資料,你首先需要查詢到要更新的資料,然後進行修改,最後提交變更。例如,如果你想更新使用者的密碼:
# 查詢要更新的使用者
user_to_update = User.query.filter_by(username='admin').first()
# 更新密碼
user_to_update.password = 'new_password'
# 提交變更
db.session.commit()
刪除資料也需要先查詢到要刪除的資料,然後使用 db.session.delete() 方法刪除它,最後提交變更。例如,刪除使用者 'admin':
# 查詢要刪除的使用者
user_to_delete = User.query.filter_by(username='admin').first()
# 刪除使用者
db.session.delete(user_to_delete)
# 提交變更
db.session.commit()
今天說的是有關Flask SQLAlchemy的基本資料庫操作的介紹。今天看過如何添加、查詢、更新和刪除資料,這些是在開發Flask應用程式時非常實用的技巧,可以幫助你有效地管理和操作資料。
但是在實際應用中,可能會面對更多的複雜情況和需求,但這些基本操作提供了一個堅實的基礎,讓你能夠逐步擴展你的應用程式。
如果你想要深入瞭解Flask SQLAlchemy,可以參考官方文檔以及其他資源,以便更好地掌握這個強大的工具喔。