iT邦幫忙

2023 iThome 鐵人賽

DAY 14
0
Software Development

從開始到放棄的Flask系列 第 14

[Day 14] Flask SQLAlchemy (2) 資料庫的基本操作

  • 分享至 

  • xImage
  •  

上篇文章介紹了Flask SQLalchemy的基本用法,包括安裝、配置資料庫、模型定義及創建資料庫,今天我會介紹一些資料庫的操作。

添加資料

在Flask SQLAlchemy中,想要添加一筆新的數據非常簡單,以昨天的例子,我們的資料庫User裡面有usernamepasswordmail這幾個欄位,我們現在想要新增一筆資料可以這樣做:

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_byfilter方法。例如,如果你想找到 username'admin'的使用者:
admin_user = User.query.filter_by(username='admin').first()

這將返回符合條件的第一筆資料,如果找不到符合條件的資料,則返回None

  • 自訂條件查詢
    如果需要更複雜的查詢,你可以使用 filter 方法並組合多個條件。例如查詢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,可以參考官方文檔以及其他資源,以便更好地掌握這個強大的工具喔。


上一篇
[Day 13] Flask SQLAlchemy (1) 如何建立資料庫
下一篇
[Day 15] Flask SQLAlchemy (3) 一對多關聯
系列文
從開始到放棄的Flask30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言